JavaScript/DOM/Element/attributes

Aus SELFHTML-Wiki
< JavaScript‎ | DOM‎ | Element
Wechseln zu: Navigation, Suche

Die Eigenschaft Element.attributes speichert die verfügbaren Attribute eines Elements.

Syntax

var attr = element.attributes;

  • attr: Live Collection aller Attribute. Sie wird verschiedentlich als Array bezeichnet, es handelt aber um eine NamedNodeMap.

Anwendungsbeispiel

Beispiel ansehen …
function abfrage() {
  var anzahl     = document.getElementsByTagName('p')[0].attributes.length,
      elem       = document.getElementById('ergebnis');
  elem.textContent = anzahl;
    }

Das Beispiel greift mit document.getElementsByTagName('body')[0] auf das p-Element der Datei zu und ermittelt über die Eigenschaft length der attributes-NamedNodeMap die Anzahl der Attribute, die in dem Element definiert sind. Im Beispiel ist 2 der Wert von attributes.length, da im einleitenden <p> Tag zwei Attribute notiert sind.

Über die attributes-NamedNodeMap können Sie auch auf Attribute zugreifen. So liefert beispielsweise document.getElementsByTagName('body')[0].attributes[0].nodeValue den Wert beispiel, da attributes[0] eines der beiden Attribute bezeichnet, und nodeValue den zugehörigen Wert speichert.

Beachten Sie: Die Reihenfolge, in der die Attribute in der attributes-NamedNodeMap gespeichert sind, ist nicht definiert. Sie können sich nicht darauf verlassen, dass attributes[0] tatsächlich das erste, im HTML-Code notierte, Attribut ist. Diese Notation ist nur dazu gedacht, einfache Zählschleifen zu erlauben.

Da es sich bei attributes nicht um ein Array, sondern um eine NamedNodeMap handelt, ist der Zugriff über einen numerischen Index als Option für leichtere Aufzählung vorgesehen. Der Normalfall ist der Zugriff über den Attributnamen.

Beachten Sie: Der Zugriff auf Attribute mittels der attributes-Eigenschaft wird bspw. von quirksmode.org als "bloody mess" bezeichnet.[1] Die attributes-NamedNodeMap sollte möglichst nicht genutzt werden, weil es viele Browser-Inkompatibilitäten gibt. Verwenden Sie die Attribut-Methoden des Elements.

Quellen

  1. Quirksmode.org: DOM Core attributes

Weblinks