jQuery选择器查找所有非嵌套后代 [英] jQuery selector to find all non nested descendants
问题描述
我正在寻找jQuery slector,它将找到传递的jQuery对象的所有后代,这些后代没有嵌套在适合同一选择器的任何元素中.考虑使用以下HTML:
I am looking for jQuery slector that will find all descendants of passed jQuery object that are not nested in any element that fits same selector. Consider following HTML:
<body>
<div class="container" id="1">
<div class="container" id="11"></div>
<div class="container" id="12"></div>
</div>
<div class="container" id="2"></div>
<div class="noncontainer">
<div class="container" id="3">
<div class="container" id="31"></div>
</div>
</div>
</body>
在此示例中,$("body").find(".container magicSelector")
应该返回div 1、2和3.$("#1").find(".container magicSelector")
应该返回div 11和12.
In this example $("body").find(".container magicSelector")
should return divs 1, 2 and 3. $("#1").find(".container magicSelector")
should return divs 11 and 12.
我已经为此此处写了一个函数,但是我认为选择器会更干净更快
I have wrote a function for that here, but I think that selector would be cleaner and faster.
推荐答案
在第一种情况下使用not()
$("body").find(".container").not('.container .container');
第二次使用选择器中的子孙
And for second use descendent in the selector
$("body").find('.container .container');
这篇关于jQuery选择器查找所有非嵌套后代的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!