DOM:element.setAttribute
Un article de MDC.
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);
-
nomest le nom du nouvel attribut sous forme de chaîne. -
valeurest 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
- DOM Level 2 Core : setAttribute — traduction en français (non normative)
- Cette méthode a fait son apparition dans DOM Level 1 Core