Wie kann ich alle Elemente ohne eine bestimmte Klasse in jQuery auswählen?


226

Angesichts der folgenden:

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

Wie kann ich alle außer Punkt 2, AKA so etwas auswählen wie:

$("ul#list li!active")

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

Antworten:


423

Sie können die .not()Methode oder den :not()Selektor verwenden

Code basierend auf Ihrem Beispiel:

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

9
Wenn Sie zwei Klassen überprüfen möchten, verwenden Sie als.not(".completed, .current")
Nishantha

im Jahr 2019 vanillaJs: document.querySelectorAll ('. foo-Klasse: nicht (.bar-Klasse): nicht (.foobar-Klasse'))
Ivan Kolyhalov


18

Sie können dies verwenden, um alle liElemente ohne Klasse auszuwählen :

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


Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.