Attr, attribute | NN 6 IE 5 DOM 1
Une représentation abstraite de la paire nom/valeur d´attribut d´un élément est un objet connu, dans le langage DOM W3C, sous le nom d´objet Attr; dans le langage IE, on l´appelle objet attribute. Il s´agit de deux noms différents, mais du même objet. Un objet attribut est créé dans les deux environnements avec la méthode document.createAttribute(); la référence à l´objet attribut devient ensuite le paramètre de la méthode setAttributeNode() d´un élément pour insérer cet objet attribut dans l´élément. Par exemple:
    var newAttr = document.createAttribute("author");
    newAttr.value = "William Shakespeare";
    document.getElementById("hamlet").setAttributeNode(newAttr);
Certaines méthodes d´éléments du DOM W3C (en particulier, la méthode getAttributeNode()) renvoient des objets attributs, dotés de propriétés auxquelles vous pouvez accéder comme à celles de n´importe quel objet définissable par script.
Dans le modèle abstrait du DOM W3C, l´objet Attr hérite de toutes les propriétés et méthodes de l´objet Node. Cependant, l´objet attribute n´hérite pas de certaines propriétés de l´objet Node dans IE pour Windows avant la version 6, bien qu´elles soient implémentées pour les noeuds d´élément et de texte dans la version 5.
Equivalent HTML
Toute paire nom/valeur dans une balise de début.
Référence de modèle d'objet
    [window.]document.getElementById("elementID").attributes[i]
    [window.]document.getElementById("elementID").attributes.item(i)
    [window.]document.getElementById("elementID").attributes.getNamedItem[attrName]
Propriétés spécifiques à l´objet
expando | name | ownerElement | specified | value
Méthodes spécifiques à l´objet
Aucune.
Propriétés de gestionnaire d´événements spécifiques à l´objet
Aucune.

expando | NN s.o. IE 6 DOM s.o.
| Lecture seule
Renvoie la valeur booléenne true si l´attribut, une fois inséré dans un élément, n´est pas l´un des attributs d´origine de l´élément. Cette propriété est false pour un attribut créé par document.createAttribute() jusqu´à ce que l´attribut soit ajouté à l´élément (avec la méthode setAttributeNode()), moment auquel la valeur de la propriété est réévaluée dans le contexte des attributs d´origine de l´élément.
Exemple
    var isCustomAttr =
      document.getElementById("book3928").getAttributeNode("author").expando;
Valeur
Valeur booléenne: true | false.
Par défaut
false

name | NN 6 IE 5 DOM 1
| Lecture seule
La partie « nom » de la paire nom/valeur de l´attribut. Elle est identique à la propriété nodeName du noeud Attr. Vous ne pouvez pas modifier le nom d´un attribut par script car d´autres dépendances pourraient poser des problèmes dans l´arborescence de documents. Cependant, vous pouvez remplacer l´ancien attribut en en créant un nouveau, dont le nom est un paramètre requis de la méthode document.createAttribute().
Exemple
    if (myAttr.name == "author") {
        // process author attribute
    }
Valeur
Valeur de chaîne.
Par défaut
Chaîne vide, bien que la création d´un nouvel attribut nécessite un nom.

ownerElement | NN 6 IE s.o DOM 2
| Lecture seule
Référence à l´élément contenant l´objet attribut actuel. Jusqu´à l´insertion d´un nouvel attribut dans un élément, cette propriété est null.
Exemple
    if (myAttr.ownerElement.tagName == "fred") {
        // process attribute of <fred> element
    }
Valeur
Référence de noeud de l´élément.
Par défaut
null

specified | NN 6 IE 5 DOM 1
| Lecture seule
Renvoie la valeur booléenne true si la valeur de l´attribut est explicitement affectée dans le code source ou ajustée par le script. Si le navigateur représente un attribut qui n´est pas explicitement défini (comme cela se produit avec IE), la propriété specified pour cette valeur est false, bien qu´il soit possible que l´attribut ait une valeur par défaut déterminée par la DTD du document. Le niveau 2 du DOM W3C indique que la propriété specified d´un objet Attr créé récemment doit être true, mais IE 6 ainsi que Netscape 6.2 et les versions ultérieures la laisse comme false jusqu´à l´insertion de l´attribut dans un élément.
Exemple
    if (myAttr.specified) {
        // process attribute whose value is something other than DTD default
    }
Valeur
Valeur booléenne: true | false.
Par défaut
false

value | NN 6 IE 6 DOM 1
| Lecture/écriture
La partie « valeur » de la paire nom/valeur de l´attribut. Identique à la propriété nodeValue du noeud Attr, ainsi qu´aux données auxquelles l´accès se fait plus directement avec les méthodes getAttribute() et setAttribute() d´un élément. Si vous créez un nouvel objet attribut, vous pouvez affecter sa valeur avec la propriété value avant d´insérer l´attribut dans l´élément. Les valeurs de noeuds d´attributs sont toujours des chaînes, y compris dans IE, qui sinon autorise les types de données Nombre ou Booléen pour les propriétés correspondantes.
Exemple
    document.getElementById("hamlet").getAttributeNode("author").value = "Shakespeare";
Valeur
Valeur de chaîne.
Par défaut
Chaîne vide, sauf dans IE pour Windows, qui renvoie la chaîne undefined (c´est-à-dire pas une valeur dont le type est évalué à la valeur undefined).