2010-12-23 3 views

Antwort

43

Ja, Sie können.

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

Ja, können Sie Gemäß der jQuery-Dokumentation:

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

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

4
if (!$('a').hasClass('xyz')){ 
    ... 
} 
7

Allerdings, wenn Sie versuchen, Wähler zu verwenden, um alle Gegenstände zu finden, die vielleicht keine Klasse haben, versuchen Sie dies:

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

+1 die reine Selektor Syntax wäre 'div Auf einer seitlichen Anmerkung: nicht (.badClass)' – BoltClock

+0

Dank! Das ist wirklich gut zu wissen - es gibt so viele erweiterte Selektoren, dass ich sie normalerweise nur in nicht leistungsintensiven Code kette. Die: Nicht-Syntax ist definitiv eine, an die ich mich erinnern werde! –

0

Sie überprüfen können, ob die Rückkehr false:

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