Comment puis-je utiliser setAttribute pour définir plusieurs classes sur un élément?
Comment puis-je définir un élément à plusieurs classes?
Première tentative:
element.setAttribute("class","class1","class2");
element.className="class1 , class2";
element.class="class1 , class2";
source d'informationauteur OVERTONE
Vous devez vous connecter pour publier un commentaire.
Il suffit de régler l'attribut comme d'habitude. Il a juste définit l'attribut de chaã vous le passez, il n'est pas au courant de toutes les règles spéciales pour la façon dont la valeur est prise en charge.
L'attribut prend une liste séparée par des espaces de classes:
Cependant... les anciennes versions (je pense que 7 et inférieur) de Internet Explorer ont des bugs graves dans leur
setAttribute
mise en œuvre — afin de ne pas les utiliser. Utiliser leclassName
propriété plutôt.Note, également, que ce sont des classes HTML. Ils utilise au-delà de l'application de styles. Il n'y a pas une telle chose comme une classe CSS (bien qu'il existe des sélecteurs de classe, les autres sélecteurs, des ensembles de règles et propriétés, qui ont été (à tort et de prêter à confusion), appelés "classes" à un moment ou à un autre).
L'attribut
className
est un espace-liste de valeurs séparées.Essayez ceci:
(avis de l'espace au lieu d'une virgule entre les deux noms)
Ou, si vous voulez ajouter sur les classes déjà:
si vous cherchez à ajouter (pas destory actuel classes), je ne
N'utilisez pas de virgules. Il suffit de régler le nom de la classe avec des espaces entre plusieurs classes. Je voudrais utiliser jQuery addClass méthode - si vous utilisez jQuery :).
Facile si vous pouvez l'accrocher à un
ID
http://jsfiddle.net/jasongennaro/qaBQv/1/
ou même
Ce avec réécrire toutes les classes précédentes.
Dans les navigateurs modernes, chaque élément du DOM ont également un
classList
collection, vous pouvez accéder. Il aadd
,remove
ettoggle
méthodes. C'est un bon exemple de la façon dont frameworks javascript influencé Api standard de lui-même.Il est sûr à utiliser
element.className += "classname"
de sorte que la nouvelle classe est ajoutée à la liste des classes déjà présentes.Ne serait-ce pas la réponse correcte:
Jamais vu faire à l'aide de
className
comme ça (par exemple, yourDiv.className...).