Attr, attributeNN 6 IE 5 DOM 1

Eine abstrakte Darstellung des Namens-/Wertpaars eines Elementattributs wird im W3C-DOM als Attr-Objekt, in der IE-Terminologie hingegen als attribute-Objekt bezeichnet. Beide Bezeichnungen beziehen sich auf dasselbe Objekt. Attributobjekte werden in beiden Umgebungen mithilfe der document.createAttribute( )-Methode erstellt. Um das Attributobjekt in ein Element einzufügen, wird die Referenz auf das Attributobjekt als Parameter an die setAttributeNode( )-Methode des gewünschten Elements übergeben. Beispiel:

var newAttr = document.createAttribute("author");
newAttr.value = "William Shakespeare";
document.getElementById("hamlet").setAttributeNode(newAttr);
 

Manche W3C-DOM-Elementmethoden (insbesondere die Methode getAttributeNode( ) geben Attributobjekte zurück, auf deren Eigenschaften wie auf jedes beliebige andere Skriptobjekt zugegriffen werden kann.

 

Im W3C-DOM-Abstraktmodell erbt das Attr-Objekt alle Eigenschaften und Methoden des Node-Objekts. In IE/Windows vor Version 6 werden einige Node-Objekteigenschaften jedoch nicht an das attribute-Objekt weitergegeben, obwohl sie in Version 5 bereits für Element- und Textnodes implementiert sind.

 
HTML-Äquivalent

Ein beliebiges Namens-/Wertpaar innerhalb eines Start-Tags.

 
Objektmodellreferenz
 
[window.]document.getElementById("elementID").attributes[i]
[window.]document.getElementById("elementID").attributes.item(i)
[window.]document.getElementById("elementID").attributes.getNamedItem[attrName]
 
Objektspezifische Eigenschaften
 
expandonameownerElementspecifiedvalue
 
Objektspezifische Methoden

Keine.

 
Objektspezifische Ereignisbehandlungsroutineneigenschaften

Keine.

expandoNN nicht zutreffend IE 6 DOM nicht zutreffend

Schreibgeschützt

Gibt den Booleschen Wert true zurück, wenn das Attribut nach dem Einfügen in ein Element nicht zu dessen nativen Attributen gehört. Bei einem Attribut, dass mit document.createAttribute( ) erstellt wurde, ist der Wert dieser Eigenschaft false, bis das Attribut dem Element (mit der setAttributeNode( )-Methode) hinzugefügt und damit die Eigenschaft im Kontext der nativen Elementattribute neu ausgewertet wird.

 
Beispiel
 
var isCustomAttr =
  document.getElementById("book3928").getAttributeNode("author").expando;
 
Wert

Boolescher Wert: true | false.

 
Standardwert

false

nameNN 6 IE 5 DOM 1

Schreibgeschützt

Der Namensteil des Namens-/Wertpaars des Attributs. Diese Eigenschaft ist identisch mit der nodeName-Eigenschaft der Attr-Node. Sie können den Namen eines Attributs nicht in einem Skript ändern, da andere Abhängigkeiten zu Bezugsfehlern im Dokumentbaum führen könnten. Stattdessen müssen Sie das alte Attribut durch ein neu erstelltes Attribut ersetzen, dessen Name als erforderlicher Parameter der document.createAttribute( )-Methode übergeben wird.

 
Beispiel
 
if (myAttr.name == "author") {
    // process author attribute
}
 
Wert

Zeichenfolgenwert.

 
Standardwert

Leere Zeichenfolge, wenngleich beim Erstellen eines neuen Attributs ein Name angegeben werden muss.

ownerElementNN 6 IE nicht zutreffend DOM 2

Schreibgeschützt

Verweist auf das Element, das das aktuelle Attributobjekt enthält. Solange einem Element noch kein neu erstelltes Attribut zugewiesen wurde, ist diese Eigenschaft null.

 
Beispiel
 
if (myAttr.ownerElement.tagName == "fred") {
    // process attribute of <fred> element
}
 
Wert

Elementnodereferenz.

 
Standardwert

null

specifiedNN 6 IE 5 DOM 1

Schreibgeschützt

Gibt den Booleschen Wert true zurück, wenn der Wert des Attributs im Quellcode explizit zugewiesen oder in einem Skript eingestellt wurde. Wenn der Browser ein Attribut widerspiegelt, das nicht explizit festgelegt wurde (was bei IE der Fall sein kann), lautet die specified-Eigenschaft dieses Werts false, obwohl das Attribut möglicherweise einen per Dokument-DTD festgelegten Standardwert aufweist. Laut W3C-DOM, Level 2, sollte die specified-Eigenschaft eines neu erstellten Attr-Objekts den Wert true aufweisen, IE ab Version 6 und Netscape ab Version 6.2 behalten jedoch den Wert false bei, bis das Attribut in ein Element eingefügt wird.

 
Beispiel
 
if (myAttr.specified) {
    // process attribute whose value is something other than DTD default
}
 
Wert

Boolescher Wert: true | false.

 
Standardwert

false

valueNN 6 IE 6 DOM 1

Lesen/Schreiben

Stellt den Wertteil des Namens-/Wertpaars des Attributs bereit. Entspricht der Eigenschaft nodeValue der Attr-Node sowie Daten, auf die über die Methoden getAttribute( ) und setAttribute( ) eines Elements in direkterer Weise zugegriffen wird. Wenn Sie ein neues Attributobjekt erstellen, können Sie seine Werte über die value-Eigenschaft zuweisen, bevor Sie es in das Element einfügen. Attributnodewerte sind immer Zeichenfolgen. Dies gilt auch beim IE, der ansonsten die Verwendung von Zahlenwerten und Booleschen Werten in den entsprechenden Eigenschaften zulässt.

 
Beispiel
 
document.getElementById("hamlet").getAttributeNode("author").value = "Shakespeare";
 
Wert

Zeichenfolgenwert.

 
Standardwert

Leere Zeichenfolge, außer bei IE/Windows, der die Zeichenfolge undefined zurückgibt (also nicht etwa einen Wert, dessen Typ den Wert undefined ergibt).