<div class="test">
<div class="example"></div>
</div>
<div class="test">
</div>
test
仅当它不包含带有类的子元素时,如何将 jQuery 应用于带有类的元素example
?
<div class="test">
<div class="example"></div>
</div>
<div class="test">
</div>
test
仅当它不包含带有类的子元素时,如何将 jQuery 应用于带有类的元素example
?
$('.test:not(:has(.example))')
-或者-
$('.test').not(':has(.example)')
可能
$('.test').filter(function() { return !$(this).children('.example').length; });
这会过滤掉任何具有匹配的子元素的元素.example
。.find
如果您想根据可以替换的后代(而不仅仅是孩子)进行过滤.children
。
$(':not(.test:has(.example))').css('color', 'red');
jQuery contains()
:
jQuery.contains(document.documentElement, document.body); // true
jQuery.contains(document.body, document.documentElement); // false
This problem seems ready-made for the filter
function where you find all the .test
objects and then when filtering retain only the ones that don't have .example
in them:
$(".test").filter(function() {
return($(this).find(".example").length == 0);
});
您可以将方法children与“.example”一起使用并测试它是否为空
$('.test').each(function() {
if(!$(this).children().hasClass("example")){
//your code
}
});
也许像这样?这个我没测试过...
if (!$('#yourDiv').children().hasClass("className")) {
//i.e. yourDivID' has no any children whose class name =>'className'
}