2010-05-05 56 views
9

如何使用jQuery append将一个特定的子元素索引添加到元素中,例如:如果我有:jQuery将div附加到特定的

<div class=".container"> 
    <div class="item"><div> 
    <div class="item"><div> 
    <div class="item"><div> 
    <div class="item"><div> 
</div> 

我想在第二个和第三个项目之间追加另一个项目?

+5

推测'类= “.container”是错字吗?在类名中使用'.'是有效的,但不是你通常想要做的事。 – bobince 2010-05-05 21:00:37

回答

19

有几个选项:

$("div.container div.item").eq(2).after($('your html')); 

$("div.container div.item:nth-child(3)").after($('your html')); 

$($("div.container div.item")[2]).after($('your html')); 

相同的选项,但插入到使用 “之前” 的相同位置:

$("div.container div.item").eq(3).before($('your html')); 

$("div.container div.item:nth-child(4)").before($('your html')); 

$($("div.container div.item")[3]).before($('your html')); 
+1

用于'eq()'方法而不是非CSS标准(因此效率较低)':eq'选择器。但是,要小心':nth-​​child';不像'eq()'和大部分剩下的事情,它的指数是基于1(argh)的。 – bobince 2010-05-05 21:05:00

+0

男人我总是忘记这一点。感谢您的领导! – user875139 2015-05-15 15:54:05

4

("div.container div.item:eq(1)").after("<element to insert>")

-1
$('.container').children()[1].append('whatever'); 
+1

这将不起作用,因为[1]返回不知道函数的本地DOM对象'append()' – jAndy 2010-05-05 20:22:00

+2

我应该避免jQuery问题。 – 2010-05-05 20:22:38