Làm cách nào tôi có thể chọn tất cả các phần tử mà không có một lớp nhất định trong jQuery?


226

Đưa ra những điều sau đây:

<ul id="list">
    <li>Item 1</li>
    <li class="active">Item 2</li>
    <li>Item 3</li>
    <li>Item 4</li>
    <li>Item 5</li>
</ul>

Làm cách nào tôi có thể chọn tất cả trừ Mục 2, AKA giống như:

$("ul#list li!active")

24
$("ul#list").not(".active")hoặc$("ul#list:not(.active)")
— N 1.1

Câu trả lời:


424

Bạn có thể sử dụng .not()phương thức hoặc :not()bộ chọn

Mã dựa trên ví dụ của bạn:

$("ul#list li").not(".active") // not method
$("ul#list li:not(.active)")   // not selector

10
Nếu muốn kiểm tra hai lớp hãy sử dụng như.not(".completed, .current")
— Nishantha

vào năm 2019 vanillaJs: document.querySelector ALL ('. foo-class: not (.bar-class): not (.foobar-class'))
— Ivan Kolyhalov


18

Bạn có thể sử dụng điều này để chọn tất cả các liyếu tố mà không có lớp:

$('ul#list li:not([class])')


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookie và Chính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.