2016-03-22 10 views
-4

私はすべての4番目のdivの後に何かを挿入しようとしています、これはそれのための私のjQueryされています。しかし、これは動作していないjQueryのn番目の子のセレクタはのみで動作します:n番目の子(1)

$("<p>Test</p>").insertAfter(".top-car-img :nth-child(4n)"); 

。しかし、4n1に置き換えた場合、それは動作し、すべての要素がpタグを取得します。なぜ4番目の要素ごとに試してみるとうまくいかないのですか?

+2

は、あなたのHTMLの構造を表示します。 [あなたのコードはうまくいくはずです](https://jsfiddle.net/Lk9gfgrc/) – Oriol

答えて

-1

要素と子要素の間のスペースを削除する必要があります。

例:

$("<p>Test</p>").insertAfter(".top-car-img:nth-child(4n)"); 

Codepen: http://codepen.io/anon/pen/XdMLyq

+0

これを行うと絶対に変更はありません。同じ結果です。 –

1

$(function() { 
 
    $("<p>Test</p>").insertAfter('.top-car-img:nth-of-type(4n)'); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<img class="top-car-img" title="1" src=""/> 
 
<img class="top-car-img" title="2" src=""/> 
 
<img class="top-car-img" title="3" src=""/> 
 
<img class="top-car-img" title="4" src=""/> 
 
<img class="top-car-img" title="5" src=""/> 
 
<img class="top-car-img" title="6" src=""/> 
 
<img class="top-car-img" title="7" src=""/> 
 
<img class="top-car-img" title="8" src=""/> 
 
<img class="top-car-img" title="9" src=""/> 
 
<img class="top-car-img" title="10" src=""/>

+0

OP asking ** 4番目のdivごとに何かを挿入しようとしています** 4番目の要素の後ではない – itzmukeshy7

+0

なぜ 'each'が必要ですか?それは[docs](http://api.jquery.com/insertAfter/)によれば必要ではありません。 – Oriol

+0

あなたは正しいです。それはnessecaryではありません。答えを更新しました。 – NiZa