我正在尝试选择不包含其他元素的元素。
假设有以下结构:
<div class="wrap">
<div class="first"></div>
<div class="second">
<div class="content">
<div class="poison-pill"></div>
</div>
</div>
</div>
.poison-pill
可以出现在任何地方。我需要选择一个带有first
或者second
类名的div
,但只有在它不包含带有poison-pill
类名的元素时才能选择。
除了使用过滤器中的函数之外,是否有更加优雅的方法?
$('.first, .second').filter(function(index, element) {
return $(element).has('.poison-pill').length === 0;
});
我可以考虑使用
not
函数或:not
选择器等方法。