Visit Mozilla.org

DOM:element.setAttribute

Un article de MDC.

« Référence du DOM Gecko

Sommaire

[modifier] Résumé

Ajoute un nouvel attribut ou change la valeur d'un attribut existant pour l'élément spécifié.

[modifier] Syntaxe

element.setAttribute(nom, valeur);
  • nom est le nom du nouvel attribut sous forme de chaîne.
  • valeur est la nouvelle valeur désirée de l'attribut.

[modifier] Exemple

var d = document.getElementById("d1"); 
d.setAttribute("align", "center");

[modifier] Notes

Si l'attribut spécifié existe déjà, sa valeur est modifiée en la valeur reçue en paramètre. S'il n'existe pas encore, l'attribut est créé.

Même si getAttribute() renvoie null pour les attributs manquants, il vaut mieux utiliser removeAttribute() plutôt que elt.setAttribute(attr, null) pour enlever un attribut.

L'utilisation de setAttribute() pour modifier certains attributs, en particulier value en XUL et HTML ou selected en HTML, ne conduit pas toujours au résultat attendu, étant donné que l'attribut spécifie juste la valeur par défaut. Pour accéder ou modifier les valeurs courantes, il vaut mieux utiliser les propriétés correspondantes. Par exemple, utilisez elt.value plutôt que elt.setAttribute('value', val).

Méthodes DOM traitant des attributs sur les éléments :

DOM Level 1
(le plus courant)
DOM Level 2 DOM Level 1 traitant directement les nœuds Attr DOM Level 2 traitant directement les nœuds Attr
setAttribute setAttributeNS setAttributeNode setAttributeNodeNS
getAttribute getAttributeNS getAttributeNode getAttributeNodeNS
hasAttribute hasAttributeNS - -
removeAttribute removeAttributeNS removeAttributeNode -

Les méthodes DOM Level 1 ne prennent pas en compte les espaces de noms tandis que les méthodes DOM Level 2 le font. Les méthodes traitant directement les nœuds Attr sont très rarement utilisées.

[modifier] Spécification