19 Stimmen

Wie kann ich mit hasClass erkennen, ob eine Klasse NICHT die gewünschte Klasse ist?

Wie verwende ich hasClass, so dass es als doesNotHaveClass funktioniert? Mit anderen Worten, anstatt zu prüfen, ob es sich um eine bestimmte Klasse handelt, sollte man prüfen, ob es sich NICHT um eine bestimmte Klasse handelt. Kann ich ein Ausrufezeichen oder etwas Ähnliches verwenden?

56voto

BoltClock Punkte 660640

Ja, das können Sie.

if (!$('element').hasClass('do-not-want')) {
    // This element does not have the .do-not-want class
}

9voto

Michael Petrov Punkte 2147

Wenn Sie jedoch versuchen, Selektoren zu verwenden, um alle Elemente zu finden, die keine Klasse haben, können Sie dies versuchen:

// find all divs that don't have "badClass" class    
$('div').not('.badClass').each(function(){});

5voto

Paul Punkte 4676
if (!$('a').hasClass('xyz')){
  ...
}

3voto

Chandu Punkte 79046

Ja, Sie können Wie in der jQuery-Dokumentation beschrieben:

Die Methode .hasClass() gibt true zurück, wenn die Klasse einem Element zugeordnet ist, auch wenn andere Klassen ebenfalls zugeordnet sind.

Da die Funktion einen booleschen Wert zurückgibt, können Sie das Ergebnis mit einem Ausrufezeichen negieren.

0voto

user1915816 Punkte 1

Sie können prüfen, ob die Rückgabe falsch ist:

if($(element).hasClass("class") === false) {...}

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X