La propriété Element.attributes renvoie une collection des noeuds d'attribut enregistrés dans le noeud spécifié. Il est une NamedNodeMap, pas un tableau (Array), aussi il n'a pas de méthodes  Array et l'index de noeud Attr peuvent différer entre les navigateurs. Pour être plus précis, les attributs sont une paire clé / valeur de chaînes représentant toutes les informations concernant cet attribut.

Syntaxe

var attr = element.attributes;

Exemple

Exemples basiques

// récupère le premier élément <p> du document
var para = document.getElementsByTagName("p")[0];
var attr = para.attributes;

L'indexation numérique est utile pour parcourir tous les attributs d'un élément.
L'exemple suivant parcourt les nœuds d'attribut de l'élément du document avec l'ID "paragraph" et imprime la valeur de chaque attribut.

<!DOCTYPE html>

<html>

 <head>
  <title>Exemple d'attributs</title>
  <script type="text/javascript">
   function listAttributes() {
     var paragraph = document.getElementById("paragraph");
     var result = document.getElementById("result");

     // D'abord, vérifier que le "paragraph" a quelques attributs    
     if (paragraph.hasAttributes()) {
       var attrs = paragraph.attributes;
       var output = "";
       for(var i = attrs.length - 1; i >= 0; i--) {
         output += attrs[i].name + "->" + attrs[i].value;
       }
       result.value = output;
     } else {
       result.value = "No attributes to show";
     }
   }
  </script>
 </head>

<body>
 <p id="paragraph" style="color: green;">Sample Paragraph</p>
 <form action="">
  <p>
    <input type="button" value="Show first attribute name and value"
      onclick="listAttributes();">
    <input id="result" type="text" value="">
  </p>
 </form>
</body>
</html>

 

Spécifications

Spécification Status Comment
DOM
La définition de 'Element.attributes' dans cette spécification.
Standard évolutif De Document Object Model (DOM) Level 3 Core Specification, déplacé de Node à Element
Document Object Model (DOM) Level 3 Core Specification
La définition de 'Element.attributes' dans cette spécification.
Obsolete Pas de changement de Document Object Model (DOM) Level 2 Core Specification
Document Object Model (DOM) Level 2 Core Specification
La définition de 'Element.attributes' dans cette spécification.
Obsolete Pas de changement de Document Object Model (DOM) Level 1 Specification
Document Object Model (DOM) Level 1 Specification
La définition de 'Element.attributes' dans cette spécification.
Obsolete Définition initiale.

Compatibilité des navigateurs

Nous convertissons les données de compatibilité dans un format JSON. Ce tableau de compatibilité utilise encore l'ancien format car nous n'avons pas encore converti les données qu'il contient. Vous pouvez nous aider en contribuant !

Fonctionnalité Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support (Oui) (Oui) [1] 6.0 [2] (Oui) (Oui)
Fonctionnalité Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support (Oui) (Oui) [1] (Oui) (Oui) (Oui)

[1] Avant Firefox 22, cet attribut était implementé dans l'interface Node (hérité par Element). Il avait été déplacé vers cette interface en conformité avec la spécification et les utilisations des autres navigateurs.

[2] Internet Explorer 5.5 retourne une carte contenant les valeurs plutôt que les objets d'attribut.

Voir aussi

  • NamedNodeMap, l'interface de l'objet retourné
  • Considérations de compatibilité entre navigateurs : sur quirksmode (en)

Étiquettes et contributeurs liés au document

Étiquettes : 
 Contributeurs à cette page : loella16, fscholz, teoli, khalid32, senshu, Mgjbot, Takenbot, BenoitL, GT
 Dernière mise à jour par : loella16,