Wie überprüfe ich, ob es keine Klasse gibt? Ich weiß zum Beispiel, wie ich überprüfen kann, ob die Klasse "test" vorhanden ist, aber wie kann ich überprüfen, ob die Klasse "test" nicht vorhanden ist?
if($(this).hasClass("test")){
}
jquery
jquery-selectors
user1005793
quelle
quelle
if($(this).is(":not(.test)"))
Die Antwort von sdleihssirhc ist natürlich die richtige für den Fall in der Frage, aber nur als Referenz, wenn Sie Elemente auswählen müssen, die keine bestimmte Klasse haben, können Sie den Not- Selektor verwenden:
quelle
Wählen Sie ein Element (oder eine Gruppe von Elementen) mit der Klasse "abc" und nicht mit der Klasse "xyz" aus:
Bei der Auswahl von normalem CSS können Sie verwenden
.abc:not(.xyz)
.quelle
Verwenden Sie die Methode .not () und suchen Sie nach einem Attribut:
Überprüfen Sie es hier: http://jsfiddle.net/AWb79/
quelle
Sie können dies versuchen:
quelle
Es gibt komplexere Szenarien, in denen dies nicht funktioniert. Was ist, wenn Sie ein Element mit Klasse A auswählen möchten, das keine Elemente mit Klasse B enthält? Am Ende benötigen Sie etwas mehr wie:
Wenn das übergeordnete Element ein bestimmtes untergeordnetes Element nicht enthält; jQuery
quelle
Ich las diese 6 Jahre später durch und dachte, ich würde es auch versuchen, auch im Sinne von TIMTOWTDI ...: D, in der Hoffnung, dass es nicht die falsche 'JS-Etikette' ist.
Normalerweise richte ich eine Variable mit der Bedingung ein und beziehe mich später darauf.
Obwohl ich erwähnen sollte, dass ich dies tue, weil ich hauptsächlich den bedingten ternären Operator verwende und sauberen Code möchte. In diesem Fall hätte ich nur Folgendes:
...an Stelle von:
quelle
Ich weiß nicht warum, aber die akzeptierte Antwort hat bei mir nicht funktioniert. Stattdessen funktionierte dies:
quelle