2

私は次のHTMLを持っています..

<div class = "thumbnail">
  <img src = "somePath">
</div>
 <div class = "thumbnail">
  <img src = "somePath">
</div>
<div class = "thumbnail">
  <img src = "somePath">
</div>
<div class = "thumbnail">
  <a href = "someLink"><img src = "somePath"></a>
</div>
<div class = "thumbnail">
  <a href = "someLink"><img src = "somePath"></a>
</div>

div.thumbnailの最初の子の下でimgタグを反復したい。それらを除外したい。私は..

var i =0;
$("div.thumbnail :first-child").each(function() {
    console.log("Touch "+(++i)+" time(s) !");
    if($(this).context.nodeName.toLowerCase() == 'img') {
        console.log("Getting Image Tag.");
    }
});

私の質問は、要素を取得する際にフィルタリングしたい..

$("div.thumbnail :first-child :img").each(function(){});

div.thumbnailのカウントとして反復したくありません。最初の子タグを持つdiv.thumbnailの数がimgであるため、反復したいと思います。それを理解する方法は?

4

3 に答える 3

2

使用:has() Selector

$("div.thumbnail:has( > img:first-child)").each(function(){});

jsFiddle デモ

于 2013-09-12T03:43:56.637 に答える