jQuery:选择不是某个类的后代的所有元素
这应该做到:jQuery:选择不是某个类的后代的所有元素,jquery,jquery-selectors,Jquery,Jquery Selectors,这应该做到: var elements = $('.container').find().parents(':not(.X)').andSelf().filter(':not(.X)'); 编辑:再次恢复为第一次修订。我认为它不是这样工作的,但是您的HTML中有一个错误,它使#1成为所有元素的父元素,因此未选择任何元素 $('.container').find(':not(.x):not(.x *)'); 正文 正文 正文 使用通配符 <div class="containe
var elements = $('.container').find().parents(':not(.X)').andSelf().filter(':not(.X)');
编辑:再次恢复为第一次修订。我认为它不是这样工作的,但是您的HTML中有一个错误,它使#1
成为所有元素的父元素,因此未选择任何元素
$('.container').find(':not(.x):not(.x *)');
正文
正文
正文
使用通配符
<div class="container" id = "0" >
<div class="x" id = "1">
<div id = "2">
<p id = "3">
<span id = "4" >text</span>
</p>
<div> <!-- <-- must be a closing div tag -->
</div>
<div id="5">
<div id="6">
<p id="7">
<span class="x" id="8" >text</span>
<span id="9">text</span>
</p>
<div> <!-- <-- must be a closing div tag -->
</div>
<div> <!-- <-- must be a closing div tag -->
或
可能有用。会不会
$('.container:not(.x):not(.x*))
更好?是的。不知道我当时是怎么想的。可能是因为OP已经用过了,找吧。
<div class="container" id = "0" >
<div class="x" id = "1">
<div id = "2">
<p id = "3">
<span id = "4" >text</span>
</p>
<div> <!-- <-- must be a closing div tag -->
</div>
<div id="5">
<div id="6">
<p id="7">
<span class="x" id="8" >text</span>
<span id="9">text</span>
</p>
<div> <!-- <-- must be a closing div tag -->
</div>
<div> <!-- <-- must be a closing div tag -->
$(".container :not(* .x)")
$(":not(* .x)", ".container")