2010-05-05 81 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