<div class="container" id = "0" >
<div class="x" id = "1">
<div id = "2">
<p id = "3">
<span id = "4" >text</span>
</p>
<div>
</div>
<div id="5">
<div id="6">
<p id="7">
<span class="x" id="8" >text</span>
<span id="9">text</span>
</p>
<div>
</div>
<div>
bạn có thể giúp tôi để chọn tất cả các yếu tố:jQuery: Chọn tất cả các yếu tố mà không phải là hậu duệ của một lớp nào đó
- đó là hậu duệ của' .container "'
- không hậu duệ của '.x'
- không có lớp '.x' riêng của mình.
Nhìn vào HTML ở trên; nó nên chọn các yếu tố 5,6,7 và 9
- Yếu tố 1 có lớp "X"
- Elements 2 là con trực tiếp của một phần tử-với-class "X" (Yếu tố 1)
- Elements 3 và 4 là hậu duệ một yếu tố-với-class "X" (Yếu tố 1)
Yếu tố 8 có lớp "X"
Tôi có selector này nhưng nó vẫn không ngừng lựa chọn con cháu (con sâu) của phần tử với class "X"
var elements = $('.container').find().parents(':not(.X)').andSelf().filter(':not(.X)');
Không phải '$ ('. Container: not (.x): not (.x *)')' có tốt hơn không? –
Đúng. Không biết tôi nghĩ gì lúc đó. Có lẽ vì OP đã được sử dụng .find. –