Ich arbeite mit jQuery und suche, ob es eine einfache Möglichkeit gibt, festzustellen, ob dem Element eine bestimmte CSS-Klasse zugeordnet ist.
Ich habe die ID des Elements und die CSS-Klasse, nach der ich suche. Ich muss nur in der Lage sein, in einer if-Anweisung einen Vergleich basierend auf der Existenz dieser Klasse für das Element durchzuführen.
javascript
jquery
css
Mitchel Sellers
quelle
quelle
Antworten:
Verwenden Sie die
hasClass
Methode:oder
Das Argument ist (offensichtlich) eine Zeichenfolge, die die Klasse darstellt, die Sie überprüfen, und es gibt einen Booleschen Wert zurück (daher wird die Verkettung nicht wie bei den meisten jQuery-Methoden unterstützt).
Hinweis: Wenn Sie ein
className
Argument übergeben, das Leerzeichen enthält, wird es buchstäblich mit derclassName
Zeichenfolge der Elemente der Sammlung abgeglichen . Wenn Sie zum Beispiel ein Element haben,dann wird dies zurückkehren
true
:und diese werden zurückkehren
false
:quelle
aus den FAQ
oder:
quelle
Wenn Sie wissen möchten, ob ein Element keine Klasse hat, können Sie einfach das tun, was Mark gesagt hat.
quelle
Ohne jQuery:
Oder:
Dies ist viel schneller als jQuery!
quelle
...&&!!((' '+e.classname+' ').indexOf(' '+c+' ')+1)
und nicht nur&&!(' '+e.classname+' ').indexOf(' '+c+' ')
?indexOf
Rückgabe-1
ist, existiert die Klasse nicht. Wenn ich das tue!!-1
, wäre estrue
. Da ich es tue!!-1+1
, wird es falsch sein. Ein besserer Weg wäre...&&!!~(' '+e.className+' ').indexOf(' '+c+' ')
, aber ich erinnerte mich damals nicht daran....&&~(' '+e.className+' ').indexOf(' '+c+' ')
Um allen zu helfen, die hier landen, aber tatsächlich nach einer jQuery-freien Möglichkeit suchen, dies zu tun:
quelle
Überprüfen Sie die offizielle jQuery-FAQ-Seite:
Wie teste ich, ob ein Element eine bestimmte Klasse hat oder nicht?
quelle
quelle
In meinem Fall habe ich die jQuery-Funktion 'is' verwendet. Ich habe ein HTML-Element mit verschiedenen CSS-Klassen hinzugefügt. Ich habe nach einer bestimmten Klasse in der Mitte gesucht. Daher habe ich das "is" als gute Alternative zur Überprüfung verwendet Eine Klasse, die dynamisch zu einem HTML-Element hinzugefügt wird, das bereits andere CSS-Klassen enthält. Dies ist eine weitere gute Alternative.
einfaches Beispiel:
erweitertes Beispiel:
quelle