2015-12-15 1 views
0

Я хотел бы добавитьClass = no-thumb в div.container, если a.img-thumb не имеет <img> тег внутри.jQuery addClass if not() имеет() элемент

<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

не завернут в документ. он не ждет, чтобы получить DOM – Farhan

 Смежные вопросы

  • Нет связанных вопросов^_^