Comment faire pour changer de classe de tous les enfants avec jquery?
J'ai la syntaxe suivante dans laquelle je veux supprimer toutes les classes css à partir du lien balises. Comment puis-je faire cela à l'aide de jquery?
<div id="nav">
<ul>
<li><a href="" class="foo">aa</a></li>
<li><a href="" class="bar">aa</a></li>
<li><a href="" class="yay">aa</a></li>
</ul>
</div>
OriginalL'auteur David | 2012-03-13
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser le
removeClass()
méthode; si vous l'appelez sans argument, elle supprime toutes les classes:Vous pouvez bien évidemment de la chaîne d'
.addClass('someClass')
dans le même appel; vous avez demandé à changement la classe dans votre question du sujet, après tout. 😉OriginalL'auteur ThiefMaster
Trouve tous les points de contrôle, basé sur
div#nav
sélecteur, et supprime tous les noms de classe.Fonctionne, mais pas besoin de parcourir les éléments dans votre code, vous pouvez utiliser
.removeClass()
+1 Quel est le problème avec explicitement boucle? Si dans la boucle
.removeClass()
a été utilisé, ce qui serait une autre histoire, mais ce n'est pas le cas ici....hmmm, semble qu'il y ait un impact sur les performances. Probablement à cause de l'appel de la fonction qui est à éviter.
exactement pas besoin de boucle
OriginalL'auteur Brad Christie
Si vous souhaitez supprimer toutes les classes, c'est
À l'aide d'attributs lors de la modification d'éléments existants est presque toujours une mauvaise idée. Utilisation
this.className = '';
ou$(this).prop('className', '')
(mais voir mon commentaire en BradChristie réponse)Ouvert à la correction, mais je crois qu'il utilise chaque interne indépendamment.
Je voulais dire, il n'y avait pas besoin de faire de chacun, il pourrait avoir été fait comme la réponse choisie qui permettrait de faire la boucle interne. Votre solution serait formidable s'il y avait modification de plusieurs choses sur l'élément, et pas seulement un attribut.
Je vais le laisser tel qu'il est et de la craie vers le bas comme une figure de style de choix 🙂
OriginalL'auteur thelastshadow
Vous pouvez utiliser
$("a").removeClass();
ici est un exemple: http://jsfiddle.net/UPsEK/
OriginalL'auteur draconis