我如何在这里使用not selector?我想选择所有课程" .hi"不包含类" .image"。
HTML
<div class="hi">
<div class="hue">
<div class="image">
456
</div>
</div>
</div>
<div class="hi">
<div class="hue">
<div class="image">
123
</div>
</div>
</div>
<div class="hi">
<div class="hue">
here
</div>
</div>
JS
我试过这样的事情,但它没有用。
console.log($('.hi').find('.hue > :not(.image')));
答案 0 :(得分:6)
$(".hi:not(:has(.image))")
// or to be more specific:
$(".hi:not(:has(.hue > .image))")
请注意:has
是特定于jQuery的。
要使用filter
执行此操作,您可以在回调中使用find
:
$(".hi").filter(function() { return $(this).find(".image").length == 0; })
// or to be more specific:
$(".hi").filter(function() { return $(this).find(".hue > .image").length == 0; })