Détails
Comment ajouter une classe à un élément donné ?
J'ai un élément qui a déjà une classe :
<div class="someclass">
<img ... id="image1" ; name="image1" ; />
</div>
Maintenant, je veux créer une fonction JavaScript qui ajoutera une classe à la div
(pas remplacer, mais ajouter).
Comment puis-je le faire ?
1101
3
Ajoutez un espace et le nom de votre nouvelle classe à la propriété
className
de l'élément. D'abord, mettez unid
sur l'élément pour pouvoir facilement obtenir une référence.Puis
Notez l'espace avant
otherclass
. Il est important d'inclure cet espace, sinon cela compromet les classes existantes qui le précèdent dans la liste des classes.Voir aussi [element.className sur MDN] (https://developer.mozilla.org/en-US/docs/Web/API/Element/className).
trouvez votre élément cible "d" comme vous le souhaitez et ensuite :
vous pouvez envelopper cela dans des moyens plus intelligents pour vérifier la préexistence, et vérifier l'espace requis, etc.
En supposant que vous fassiez plus que simplement ajouter cette classe (par exemple, vous avez des requêtes asynchrones, etc.), je recommanderais une bibliothèque comme [Prototype][1] ou [jQuery][2].
Cela rendra très simple tout ce que vous aurez à faire (y compris ceci).
Disons que vous avez installé jQuery sur votre page. Vous pouvez utiliser un code comme celui-ci pour ajouter un nom de classe à un élément (au chargement, dans ce cas) :
Consultez le [navigateur API jQuery][3] pour d'autres fonctionnalités.
[1] : http://www.prototypejs.org/ [2] : http://jquery.com [3] : http://api.jquery.com/