var $set = $('.foo,.bar').filter(
function() {return $(this).parents('.baz').length < 1;});
,以此来选择所有其类的元素或者foo
或bar
,谁不从一个元素,它的类是baz
下降。有没有一个选择器可以完成同样的事情,而不需要过滤lambda? ( '巴兹')不是你的顶级选择:
<div class='foo'/><!--match this-->
<div class='bar'/><!--match this-->
<div class='baz'>
<div class='foo'/> <!--don't match this-->
</div>
出所有我喜欢你做的最好的方式得到答案的。 – Dean 2012-08-09 23:03:12
你可以使用`nearest`方法而不是`parents`来加快速度。 “最接近”一旦找到一个匹配元素,而“父”通过DOM树到达文档的根元素来查找匹配元素,就停止查找。 – RayOnAir 2016-08-11 19:27:43