我正在尝试选择所有嵌套在 DOM 树中某处的 .select
类元素。
唯一的限制是,他们不允许有任何父类为 .forbidden
。
因此它不会在以下树部分中找到任何元素:
<div>
<div class="forbidden">
<div>
<div>
<div class="select">Some Content</div>
</div>
</div>
</div>
</div>
但会在这里找到 1 个元素:
<div>
<div>
<div>
<div>
<div>
<div class="select">Some Content</div>
</div>
</div>
</div>
</div>
</div>
如何使用 .not()
函数实现此选择?
像这样:$('.select').not($(this).parents().hasClass('.forbidden'));
最佳答案
您需要检查父元素,closest()
在找到该类的第一个元素时停止,如果选择器有长度,即。包含元素,则在 DOM 树上某处有一个具有该类的元素。
$('.select').filter(function(){
return !$(this).closest('.forbidden').length;
});
关于javascript - 选择父级没有特定类的所有元素(使用 '.not()' ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12057500/