<div class="test">
<div class="example"></div>
</div>
<div class="test">
</div>
如果jQuery不包含类test
的子元素,我怎样才能将jQuery应用于具有类example
的元素?
答案 0 :(得分:38)
$('.test:not(:has(.example))')
-OR -
$('.test').not(':has(.example)')
答案 1 :(得分:4)
可能
$('.test').filter(function() { return !$(this).children('.example').length; });
这会筛选出任何与.example
匹配的子元素。如果您想根据后代(而不仅仅是孩子)进行过滤,可以将.find
替换为.children
。
答案 2 :(得分:3)
$(':not(.test:has(.example))').css('color', 'red');
答案 3 :(得分:2)
此问题似乎已准备好filter
函数,您可以在其中找到所有.test
个对象,然后在过滤时只保留其中没有.example
的对象:< / p>
$(".test").filter(function() {
return($(this).find(".example").length == 0);
});
答案 4 :(得分:1)
您可以将方法children与“.example”一起使用,并测试它是否为空
答案 5 :(得分:1)
jQuery contains()
:
jQuery.contains(document.documentElement, document.body); // true
jQuery.contains(document.body, document.documentElement); // false
答案 6 :(得分:1)
$('.test').each(function() {
if(!$(this).children().hasClass("example")){
//your code
}
});
也许是这样的?我没有测试过这个...
答案 7 :(得分:-1)
if (!$('#yourDiv').children().hasClass("className")) {
//i.e. yourDivID' has no any children whose class name =>'className'
}