2011-12-26 14 views
1

を追加します。私は、各4N要素の後にいくつかのdivを追加する必要があるはJQuery:n番目の子()私は単純なリスト持っ

<ul> 
<li>some text 1 </li> 
<li>some text 2</li> 
<li>some text 3</li> 
<li>some text 4</li> 
<li>some text 5</li> 
<li>some text 6</li> 
<li>some text 7</li> 
</ul> 

私が持っている:

$("ul li:nth-child(4n)").after("<div style='color:black'>test</div>"); 

しかし、例えばI 4つの要素とそれに続くdivを持ち、3つの要素しか持っていないのですが、3つ目の要素の後にdivを追加する必要があります。 ありがとうございました!あなたはそれがnth-childルールにマッチしていない場合は、最後のliを結果セットのjQueryに追加する.add()を使用することができ

答えて

2

$("ul li:nth-child(4n)") 
    .add('ul li:last') 
    .after("<div style='color:black'>test</div>"); 

デモあなたもにはgrepに頼ることができますピッキングを行う:

var $lis = $('li'); 

$lis = $($.grep($lis, function (l, i) {return (i+1)%4 == 0 || i == $lis.length - 1;})); 

$lis.after("<div style='color:black'>test</div>"); 
+0

しかし、これはGabysのソリューションほど洗練されていません。 – maxRoald

関連する問題