2015-12-15 101 views
0

如果a.img-thumb裏面沒有<img>標記,我想爲div.container添加Class = no-thumb。jQuery addClass if not()has()元素

<div class="container lrg-med"> 
    <a class="img-thumb" href="#"></a> 
    </div> 

使用以下但不工作,我究竟做錯了什麼?

jQuery(".container.lrg-med").not(":has(img)").addClass("no-thumb"); 
+0

注意:如果a.img-thumb內部沒有< img >標記! –

+0

你的代碼似乎工作得很好? – adeneo

+0

http://jsfiddle.net/6z91xwoc/1/ – adeneo

回答

1

敷在DOM Ready

jQuery(function(){ 
    jQuery(".container.lrg-med").not(":has(img)").addClass("no-thumb"); 
}); 

也許你正在做它之前的DOM準備

0

等到DOM準備。爲此使用document.read

$(document).ready(function(){ 
    $(".container.lrg-med").each(function() { 
     if($('.img-thumb',$(this)).length == 0){ 
      $(this).addClass("no-thumb"); 
     } 
    }); 
}); 
+0

你能說出OP的代碼有什麼問題嗎? – void

+0

代碼未包裝在document.ready中。他並沒有等待DOM準備就緒 – Farhan