Bagaimana saya bisa memilih semua elemen tanpa kelas di jQuery?

226

Diberikan sebagai berikut:

<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>

Bagaimana saya bisa memilih semua kecuali Butir 2, AKA sesuatu seperti:

$("ul#list li!active")
Andrew G. Johnson
sumber
24
$("ul#list").not(".active")atau$("ul#list:not(.active)")
N 1.1

Jawaban:

424

Anda dapat menggunakan .not()metode atau :not()pemilih

Kode berdasarkan contoh Anda:

$("ul#list li").not(".active") // not method
$("ul#list li:not(.active)")   // not selector
Andre Backlund
sumber
10
Jika ingin memeriksa penggunaan dua kelas sebagai.not(".completed, .current")
Nishantha
di 2019 vanillaJs: document.querySelectorAll ('. foo-class: not (.bar-class): not (.foobar-class'))
Ivan Kolyhalov
18

Anda bisa menggunakan ini untuk memilih semua lielemen tanpa kelas:

$('ul#list li:not([class])')
Oswaldo Ferreira
sumber
2
if (!$(row).hasClass("changed")) {
    // do your stuff
}
pengguna3763117
sumber