jquery:not选择器问题(将Descendant selector与:not组合)



我尝试将Descendant Selector(.a .b)(如果是.a的间接子项,则仅选择具有class.b的项(与:not(.a)(如果不是class.a,则仅进行选择(选择器组合。

我在jsfiddle中设置了一个简单的示例:https://jsfiddle.net/eqj1p3gf/1/

我想选择类为.wwant的所有元素,但前提是它们不是类为.aaa.的元素的间接子元素:

<div class="aaa">
<div class="something">
<div class="wanted">
I don't want this
</div>
</div>
</div>
<div class="bbb">
<div class="somethingelse">
<div class="wanted">
I only want this
</div>
</div>
</div>

为此,我尝试使用这个选择器:$(":not(.aaa) .wanted"),但它同时选择了两个.wwant元素,因为这两个元素都有一个不是.aaa的父元素。

我如何创建这样的选择?

要进行这样的选择,您首先需要选择所有.wanted元素,然后使用:not取消选择具有父.aaa:的所有.wanted元素

$(".wanted:not(.aaa .wanted)").css("text-transform", "uppercase");

最新更新