Attr, attributeNN 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
 
expandonameownerElementspecifiedvalue
 
Méthodes spécifiques à l´objet

Aucune.

 
Propriétés de gestionnaire d´événements spécifiques à l´objet

Aucune.

expandoNN 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

nameNN 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.

ownerElementNN 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

specifiedNN 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

valueNN 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).