Come posso selezionare tutti gli elementi senza una determinata classe in jQuery?


226

Dato quanto segue:

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

Come posso selezionare tutto tranne l'articolo 2, AKA qualcosa del tipo:

$("ul#list li!active")

24
$("ul#list").not(".active")oppure$("ul#list:not(.active)")
N 1.1

Risposte:


424

È possibile utilizzare il .not()metodo o il :not()selettore

Codice basato sul tuo esempio:

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

10
Se vuoi controllare due classi usa come.not(".completed, .current")
Nishantha il

nel 2019 vanillaJs: document.querySelectorAll ('. foo-class: not (.bar-class): not (.foobar-class'))
Ivan Kolyhalov


18

Puoi usarlo per scegliere tutti gli lielementi senza classe:

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


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.