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