Ajoute un nouvel attribut ou change la valeur d'un attribut existant pour l'élément spécifié.
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.
Exemple
var d = document.getElementById("d1"); d.setAttribute("align", "center");
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 faut utiliser removeAttribute()
plutôt que elt .setAttribute(attr , null)
pour enlever un attribut. Cette dernière commande va convertir la valeur null
vers la chaîne de caractères "null"
, ce qui ne correspond généralement pas à ce qu'on veut.
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 (DOM 1) |
setAttributeNS |
setAttributeNode |
setAttributeNodeNS |
getAttribute (DOM 1) |
getAttributeNS |
getAttributeNode |
getAttributeNodeNS |
hasAttribute (DOM 2) |
hasAttributeNS |
- | - |
removeAttribute (DOM 1) |
removeAttributeNS |
removeAttributeNode |
- |
Spécifications
- DOM Level 2 Core : setAttribute — traduction en français (non normative)
- Cette méthode a fait son apparition dans DOM Level 1 Core