<div class="test">
<div class="example"></div>
</div>
<div class="test">
</div>
如何将jQuery应用于类test
的元素,仅当它不包含子类example
的子元素?如果父元素不包含某个子元素, jQuery
<div class="test">
<div class="example"></div>
</div>
<div class="test">
</div>
如何将jQuery应用于类test
的元素,仅当它不包含子类example
的子元素?如果父元素不包含某个子元素, jQuery
$('.test:not(:has(.example))')
- 或 -
$('.test').not(':has(.example)')
这个人工作得最好,谢谢! – UserIsCorrupt 2012-04-16 09:16:19
你可以使用方法children用 “实例”,并测试它是否是空的
jQuery的:
jQuery.contains(document.documentElement, document.body); // true
jQuery.contains(document.body, document.documentElement); // false
可能
$('.test').filter(function() { return !$(this).children('.example').length; });
此筛选出有任何元素任何匹配.example
的孩子。如果你想根据后代(不只是孩子)过滤,你可以用.find
代替.children
。
$('.test').each(function() {
if(!$(this).children().hasClass("example")){
//your code
}
});
也许这样吗?我没有测试过这...
$(':not(.test:has(.example))').css('color', 'red');
这个问题似乎现成的,你发现所有的.test
的filter
功能对象,然后过滤时只保留其中没有.example
的对象:
$(".test").filter(function() {
return($(this).find(".example").length == 0);
});
if ($('#yourDiv').children().hasClass("className")) {
// yourDivID' has any children whose class name =>'className'
}
的
可能重复[如何选择元素不具有特定的子元素使用jQuery(http://stackoverflow.com/questions/7258606/how-to-select-elements-which-do -not-have-a-specific-child-element-with-jquery) – Jeroen 2015-07-02 06:26:53