différence entre toggleclass et addclass
Je suis en train de travailler avec jquery et de tenter d'ajouter une classe à une table sur la sélection de cette ligne du tableau.
J'ai d'abord été en utilisant le code suivant -
$(this).parents("tr").toggleClass("over", this.clicked);
Pour une raison quelconque, ce n'était pas de travail dans seulement quelques cas où il y avait déjà une classe attribuée.
Avant que je suis allé trop fou avec toute la résolution des problèmes, je l'ai changé à la suite de
$(this).parents("tr").addClass("over", this.clicked);
Cette nouvelle option apparaît à être fonctionne bien.
Ma question est de savoir si une option ci-dessus est meilleur que l'autre.....Dois-je utiliser toggleClass au lieu de addClass, ou est addClass suffisant?
merci pour les pensées.
OriginalL'auteur czuroski | 2011-12-01
Vous devez vous connecter pour publier un commentaire.
addClass
c'est juste que, ajoute de la classe à l'élément.toggleClass
d'autre part le fait, QU'il bascule de la classe, de l'enlever si il y est, sinon l'ajouter, mais éventuellement prendre une valeur booléenne (true/false) pour déterminer si l'objet doit être ajouté (true) ou retiré (false).toggleClass
n'était probablement pas travailler pour vous dans le cas oùthis.clicked
étaitfalse
, qui est le comportement attendu. L'argument que vous êtes de passage dansaddClass
a aucun effet, car elle ajoute TOUJOURS la classe.Conclusion:
Utilisation
toggleClass
pour le basculement des classes, l'utilisationaddClass
pour l'ajout de classes.OriginalL'auteur Andreas Eriksson
Si
addClass
est de travailler pour vous, alors vous devriez rester avec elle. Les méthodes sont destinés à des fins différentes.addClass
garantit qu'une classe particulière est présent sur un élément, tandis quetoggleClass
ajoute la classe si elle n'est pas là et de le supprimer si il est.Découvrez la référence de l'API pour l'explication complète de chaque méthode:
OriginalL'auteur FishBasketGordo
Il n'y a pas besoin de passer un deuxième argument .addClass() - il sera toujours ajouter la classe.
Si c'est le comportement que vous voulez, c'est la bonne méthode.
OriginalL'auteur N3dst4
Dépend vraiment. Si vous n'avez pas de plan sur la suppression de la classe, je collerais avec
addClass
. Naturellement,toggleClass
permet de basculer entre les classes.OriginalL'auteur Tim S.