Unterschied zwischen toggleclass und addclass

9

Ich arbeite mit jquery und versuche, einer Tabelle bei der Auswahl dieser Tabellenzeile eine Klasse hinzuzufügen.

Ich habe anfangs den folgenden Code verwendet -

%Vor%

Aus irgendeinem Grund funktionierte das nicht in nur einigen Instanzen, wo bereits eine Klasse zugewiesen war. Bevor ich mit der Fehlersuche zu verrückt wurde, änderte ich sie in folgendes:

%Vor%

Diese neue Option scheint gut zu funktionieren.

Meine Frage ist, ob eine der obigen Optionen besser ist als die andere ..... Sollte ich toggleClass anstelle von addClass verwenden oder ist addClass ausreichend?

danke für irgendwelche Gedanken.

    
czuroski 01.12.2011, 13:50
quelle

4 Antworten

12

addClass fügt genau das hinzu, fügt dem Element die Klasse hinzu.

toggleClass schaltet andererseits die Klasse ein, entfernt sie, wenn sie da ist, fügt sie sonst hinzu, aber nimmt optional einen booleschen Wert (wahr / falsch), um zu bestimmen, ob das Objekt hinzugefügt werden soll (wahr) oder entfernt (falsch).

toggleClass funktionierte wahrscheinlich nicht in den Fällen, in denen this.clicked % false war, was erwartetes Verhalten ist. Das übergebene Argument in addClass hat keine Auswirkung, da es IMMER die Klasse hinzufügt.

Fazit:

Verwenden Sie toggleClass zum Umschalten von Klassen, verwenden Sie addClass zum Hinzufügen von Klassen.

    
Andreas Eriksson 01.12.2011, 13:52
quelle
4

Wenn addClass für Sie arbeitet, sollten Sie dabei bleiben. Die Methoden sind für verschiedene Zwecke gedacht. addClass stellt sicher, dass eine bestimmte Klasse für ein Element vorhanden ist, während toggleClass die Klasse hinzufügt, falls sie nicht vorhanden ist, und sie entfernt, falls dies der Fall ist.

Sehen Sie sich die API-Referenz für die vollständige Erklärung der einzelnen Methoden an:

FishBasketGordo 01.12.2011 13:53
quelle
3

Es ist nicht nötig, ein zweites Argument an .addClass () zu übergeben - es wird immer die Klasse hinzufügen.

Wenn das das gewünschte Verhalten ist, ist das die richtige Methode.

    
N3dst4 01.12.2011 13:53
quelle
1

Hängt wirklich ab. Wenn Sie die Klasse nicht entfernen möchten, bleibe ich bei addClass . Natürlich können Sie mit toggleClass zwischen Klassen wechseln.

    
Tim S. 01.12.2011 13:53
quelle

Tags und Links