我有这个HTML结构:
<div class="start">
<div class="someclass">
<div class="catchme">
<div="nested">
<div class="catchme"> <!-- STOP! no, no catchme's within other catchme's -->
</div>
</div>
</div>
<div class="someclass">
<div class="catchme">
</div>
</div>
</div>
<div class="otherclass">
<div class="catchme">
</div>
</div>
</div>
我正在寻找一个JQuery结构,它返回我的'start'容器中的所有catchme,除了包含在找到的catchme中的所有catchme。事实上,无论它们在DOM树中的深度如何,我都只想要所有“第一级”的捕获量。
这很接近,但不是很好:
var start = $('.start');
// do smething
$('.catchme:first, .catchme:first:parent + .catchme', start)
我想进一步打破所有找到的元素后面的树。有什么想法吗?
答案 0 :(得分:3)
这会吗?
$('.catchme:not(.catchme .catchme)');
答案 1 :(得分:0)
这样的事情会起作用吗?
$('.catchme :not(.catchme)', start)
答案 2 :(得分:0)
您可以使用.filter()
和.parents()
:
$('.catchme').filter(function(){
return $(this).parents('.catchme').length == 0;
};
这将仅选择那些没有catchme
元素作为祖先的catchme
个元素。