Node | NN 6 IE 5 DOM 1
Das Node-Objekt ist eine abstrakte Darstellung des grundlegenden Inhaltsbausteins eines Dokuments im W3C-DOM. Alle Inhaltskomponenten, die Sie im W3C-DOM-Modell adressieren können, werden als Nodes bezeichnet: unbenannte, zusammenhängende Textzeichenfolgen zwischen Tags, Elemente mit Tags, Name/Wert-Attributpaare, spezielle Hilfselemente wie Kommentare, DOCTYPE-Deklarationen und sogar das Dokument selbst, um nur einige Beispiele zu nennen.
Ein Node-Objekt verfügt über eine umfangreiche Palette von Eigenschaften und Methoden, von denen die meisten die Beziehungen einer Node mit den sie umgebenden Nodes betreffen. Die Objekte in einem Dokument, die von einem Skript gelesen und gesteuert werden, sind als Ableger des grundlegenden Node-Objekts definiert. Dies bedeutet, dass die wichtigsten Inhaltsobjekte, mit denen ein DHTML-Skript arbeitet – HTML-Elemente, Textnodes und Elementattribute – zunächst einmal alle dieselben Eigenschaften und Methoden aufweisen. Erst dann fallen ihnen, entsprechend ihren Aufgaben als HTML-Elementen, weitere Eigenschaften und/oder Methoden zu, die ihre jeweilige Funktion erfordert.
Während das Nodemodell des W3C-DOM die Erbfolge der einzelnen Inhaltskomponenten eines Dokuments regelt, stellt es einen höchst akkuraten Konzeptrahmen dar, mit dem es im Vergleich zu der HTML-ähnlichen Knappheit der ersten DOM-Generation und des Microsoft-DOM zuweilen etwas schwerfällig wirkt. Das Ziel ist jedoch letztlich, ein einheitliches Modell bereitzustellen, das sowohl mit XML- als auch mit HTML-Dokumenten (in ihrer reinen HTML- und der erweiterten XML-Form) funktioniert.

ATTRIBUTE_NODE, CDATA_SECTION_NODE, COMMENT_NODE, DOCUMENT_FRAGMENT_NODE, DOCUMENT_NODE, DOCUMENT_TYPE_NODE, ELEMENT_NODE, ENTITY_NODE, ENTITY_REFERENCE_NODE, NOTATION_NODE, PROCESSING_INSTRUCTION_NODE, TEXT_NODE | NN 6 IE nicht zutreffend DOM 1
| Schreibgeschützt
Diese Gruppe von Konstanten gehört zum Root-Node-Objekt des W3C-DOM und wird daher von allen Nodes und Elementen auf Dokumentebene geerbt. Jede Eigenschaft entspricht einem ganzzahligen Wert, der mit der nodeType-Eigenschaft der einzelnen DOM-Nodes verknüpft ist. Mithilfe dieser Eigenschaften können Sie den gesuchten Nodetyp in Vergleichen oder ähnlichen Skriptoperationen in einer leichter lesbaren Weise angeben.
Beispiel
    if (myObject.nodeType == document.ELEMENT_NODE) {
        // process as an element here
    }
Wert
Ganze Zahl, die einem DOM-Nodetyp entspricht.
Eigenschaft | nodeType-Wert
ELEMENT_NODE | 1
ATTRIBUTE_NODE | 2
TEXT_NODE | 3
CDATA_SECTION_NODE | 4
ENTITY_REFERENCE_NODE | 5
ENTITY_NODE | 6
PROCESSING_INSTRUCTION_NODE | 7
COMMENT_NODE | 8
DOCUMENT_NODE | 9
DOCUMENT_TYPE_NODE | 10
DOCUMENT_FRAGMENT_NODE | 11
NOTATION_NODE | 12
Standardwert
Konstantenwerte (siehe oben).

attributes[ ] | NN 6 IE 5 DOM 1
| Schreibgeschützt
Gibt ein benanntes Node-Map-Objekt zurück, das einem Array (Sammlung) mit Attributobjekten (W3C-DOM-Typ Attr) ähnelt, aber auch einige eigene Methoden aufweist, die den Zugriff auf die Objekte dieses Arrays erleichtern. Das IE-Array attributes enthält Einträge für alle Attribute des internen DTD des Elements sowie alle benutzerdefinierten Attribute (expando), die in IE 6 im HTML-Quellcode explizit gesetzt wurden. In einem Skript vorgenommene Änderungen an den Attributen des Elements oder ihren Werten werden in diesem Array nicht widergespiegelt.
Bei Netscape 6 enthält das attributes-Array nur Einträge für solche Attribute, die im HTML-Quellcode explizit für das Element definiert sind, einschließlich der benutzerdefinierten Attribute. In einem Skript vorgenommene Änderungen an Attributen (Hinzufügungen oder Löschungen) oder ihren Werten werden in den vom attributes-Array referenzierten attribute-Objekten widergespiegelt.
Statt mithilfe von Methoden des benannten Node-Map-Objekts können Sie über die standardmäßige JavaScript-Arraysyntax auf die einzelnen Attributobjekte zugreifen. Im Großen und Ganzen ist es jedoch wesentlich bequemer, bei der Skripterstellung entweder über ihre Widerspiegelung als Elementobjekteigenschaften oder über die Methoden getAttribute( ) und setAttribute( ) auf HTML-Elementattributwerte zuzugreifen. Informationen zu den Eigenschaften und Methoden dieser Objekte im W3C-DOM (hilfreich beim Analysieren von XML-Dokumenten) finden Sie in den Abhandlungen der Objekte Attr und NamedNodeMap.
Beispiel
    var ldAttr = document.getElementById("myImg").attributes.getNamedItem("longdesc");
Wert
Array (Sammlung) der Attributobjektreferenzen in der Quellcodereihenfolge (Netscape 6) bzw. in alphabetischer (IE/Mac) oder willkürlicher (IE/Windows) Reihenfolge.
Standardwert
Modell des aktuellen Elements.

childNodes[ ] | NN 6 IE 5 DOM 1
| Schreibgeschützt
Dies ist eine Eigenschaft des Node-Objekts im W3C-DOM, die aus einem Array (Nodeliste) mit Referenzen auf alle Child-Nodes auf der nächstniedrigeren Ebene der Nodehierarchie besteht (unabhängig davon, ob es sich hierbei um einen Teil des Dokumentbaums oder um Dokumentfragmente handelt, die noch nicht in den Dokumentbaum eingefügt wurden). Um tiefer verschachtelte Nodes zu erreichen, müssen Sie auf den childNode-Array der einzelnen Child-Nodes der aktuellen Node zugreifen. Eine für die Navigation in einem Nodebaum unverzichtbare Eigenschaft. Informationen zu den Eigenschaften und Methoden dieses Arraytyps finden Sie in der Abhandlung des NodeList-Objekts.
Beispiel
    for (var i = 0; i < nodeRef.childNodes.length; i++) {
    		    if (nodeRef.childNodes[i].nodeType == document.ELEMENT_NODE) {
    		        // operate on an element
    		    }
    		}
Wert
Array mit Nodeobjektreferenzen.
Standardwert
Array mit einer Länge von Null.

firstChild, lastChild | NN 6 IE 5 DOM 1
| Schreibgeschützt
Geben eine Referenz auf die erste bzw. letzte Child-Node der aktuellen Elementnode zurück. In aller Regel handelt es sich bei diesen Child-Nodes um in einem Element verschachtelte Textnodes. Bei einem einfachen Element, das nur eine Textnode enthält, geben beide Eigenschaften eine Referenz auf dieselbe Textnode zurück. Komplexere Konstruktionen wie tr-Elemente können weitere Elementnodes (td-Elemente) als Child-Nodes enthalten, wobei manche Browser unter Umständen jedoch Wagenrückläufe (CR-Zeichen) zwischen Elementen im Quellcode in Textnodes umwandeln. Aus diesem Grund ist es sinnvoll, den Typ der von diesen Eigenschaften zurückgegebenen Node vor der Weiterverarbeitung zu überprüfen.
Beispiel
    if (document.getElementById("elementID").firstChild.nodeType == 3) {
    		    // process as a text node
    		}
Wert
Node-Objektreferenz (auf eine Textnode, HTML-Elementnode o. ä.).
Standardwert
null

hasAttribute( ) | NN 6 IE nicht zutreffend DOM 1
hasAttribute("attributeName") |
Gibt den Booleschen Wert true zurück, wenn das aktuelle Element ein Attribut aufweist, dessen Name mit dem Parameter der Methode übereinstimmt.
Parameter
Der Name des gesuchten Attributs (Groß-/Kleinschreibung beachten).
Zurückgegebener Wert
Boolescher Wert: true | false.

lastChild |
Siehe firstChild.

localName, namespaceURI, prefix | NN 6 IE nicht zutreffend DOM 2
| Schreibgeschützt
Diese drei Eigenschaften gelten hauptsächlich für XML-Dokumentelemente mit Tags, die mithilfe von XML-Namespaces definiert wurden. Im Folgenden finden Sie ein einfaches Beispiel für ein solches Dokument:
Die Eigenschaften legen Einzelheiten zu den Namensmerkmalen des Elements offen. Ein localName ist das Äquivalent zur nodeName-Eigenschaft des Elements, also sein dokumentweit gültiger Tag-Name, auch wenn der Tag-Name von einem aus einem anderen Namespace stammenden Element wiederverwendet wird. Das prefix hingegen verbindet das Element mit einem Präfixnamen, der normalerweise mit einem xmlns-Attribut eines Containers im XML-Dokument definiert wird. Dies erleichtert Ihrem Skript die Identifizierung des Namespace, dem das Element zugeordnet ist. Eine weitere Bindung wird durch die Eigenschaft namespaceURI offen gelegt, die die dem xmlns-Attribut eines Containerelements zugewiesene URI-Zeichenfolge zurückgibt. Obwohl alle drei Eigenschaften zum Node-Objekt gehören, weisen sie für andere Nodetypen als Element- und Attributnodes den Wert null auf (oder vielmehr sollten sie den Wert null aufweisen, sind in Netscape 6 jedoch leere Zeichenfolgen).
Beispiel
    var allTitles = document.getElementsByTagName("title");
    		for (var i = 0; i < allTitles.length; i++) {
    		    if (allTitles[i].prefix == "libBook" &&
    		        allTitles[i].namespaceURI.indexOf("catalog.umv.edu") != -1) {
    		        // process title elements from the desired namespace here
    		    }
    		}
Wert
Zeichenfolgen.
Standardwert
Für localName der Tag-Name des Elements. Ansonsten eine leere Zeichenfolge.

nextSibling, previousSibling | NN 6 IE 5 DOM 1
| Schreibgeschützt
Geben eine Referenz auf die nächste bzw. vorhergehende Node im Dokumentbaum zurück, die auf derselben Ebene verschachtelt ist wie die aktuelle Node. Wenn sich an der durch den Eigenschaftsnamen angegebenen Position keine Node befindet, gibt die Eigenschaft den Wert null zurück. Bei einer Textnode, die die einzige Node innerhalb einer Elementnode darstellt, geben beide Eigenschaften den Wert null zurück. Die Abfolge der Nodes wird anfangs durch die Quellcodereihenfolge bestimmt, in einem Skript vorgenommene Änderungen am Dokumentbaum werden jedoch in den von diesen Eigenschaften zurückgegebenen Nodes widergespiegelt.
Beispiel
    var nextNode = document.getElementById("elementID").nextSibling;
Wert
Node-Objektreferenz (auf eine Textnode, HTML-Elementnode o. ä.).
Standardwert
null

nodeName | NN 6 IE 5 DOM 1
| Schreibgeschützt
Gibt eine Zeichenfolge zurück, die den Namen der Node entsprechend ihres Nodetyps angibt. Bei Element- und Attributnodes gibt die Eigenschaft den Tag-Namen bzw. den Attributnamen zurück. Bei vielen anderen Nodetypen, denen keine eigene Beschriftung zugeordnet ist, gibt die Eigenschaft nodeName eine feste Zeichenfolge zurück, die den Nodetyp angibt, z. B. #text für eine Textnode und #document für die Root-Dokumentnode. Bei Elementen gibt die Eigenschaft denselben Zeichenfolgenwert zurück wie die Eigenschaft tagName des Elementobjekts. Beachten Sie, dass Browser bis einschließlich IE 6 und Netscape 7 Element-Tag-Zeichenfolgen unabhängig vom Quellcodestil oder der DOCTYPE-Spezifikation in Großbuchstaben zurückgeben.
Beispiel
    if (document.getElementById("elementID").nextSibling.nodeName == "#text") {
    		    // process as a text node
    		}
Wert
Feste Zeichenfolge für #cdata-section-, #document-, #document-fragment- und #text-Nodes, variable Zeichenfolge für Attribut-, Element- und andere Nodetypen.
Standardwert
Nodespezifisch.

nodeType | NN 6 IE 5 DOM 1
| Schreibgeschützt
Gibt eine ganze Zahl zurück, die einem im W3C-DOM spezifizierten Nodetyp entspricht. Diese Eigenschaft wird beim Testen des Nodeobjekttyps bevorzugt verwendet (anstelle der nodeName-Eigenschaftswerte). Jeder Nodetyp weist einen Wert auf, aber nicht alle Browser, die die Eigenschaft nodeTyp unterstützen, unterstützen alle Nodetypen als Objekte. Den ganzzahligen Werten sind entsprechende Konstanten zugewiesen, mit deren Hilfe Sie ausführlichere, aber leichter lesbare Skriptvergleiche für die Nodetypverarbeitung erstellen können (siehe Eigenschaft ATTRIBUTE_NODE weiter vorne in diesem Kapitel). Beachten Sie, dass es keine Möglichkeit gibt, Elementtypen (z. B. eine Root-Element-Node und eine HTMLElement-Node) anhand der nodeType-Eigenschaft voneinander zu unterscheiden. Beachten Sie außerdem, dass IE 6 für Windows den Typ eines DOCTYPE-Elements fälschlicherweise als Kommentarnode erkennt.
Beispiel
    if (document.getElementById("elementID").firstChild.nodeType == 1) {
    		    // process as an element
    		}
Wert
Ganzzahlige Werte (siehe unten stehende Tabelle).
Wert | Nodetyp | W3C-DOM | IE/Windows | IE/Mac | NN
1 | ELEMENT_NODE | 1 | 5 | 5 | 6
2 | ATTRIBUTE_NODE | 1 | 6 | 5 | 6
3 | TEXT_NODE | 1 | 5 | 5 | 6
4 | CDATA_SECTION_NODE | 1 | -- | -- | --
5 | ENTITY_REFERENCE_NODE | 1 | -- | -- | --
6 | ENTITY_NODE | 1 | -- | -- | --
7 | PROCESSING_INSTRUCTION_NODE | 1 | -- | -- | --
8 | COMMENT_NODE | 1 | 6 | 5 | 6
9 | DOCUMENT_NODE | 1 | 5 | 5 | 6
10 | DOCUMENT_TYPE_NODE | 1 | -- | -- | 6
11 | DOCUMENT_FRAGMENT_NODE | 1 | -- | -- | 6
12 | NOTATION_NODE | 1 | -- | -- | --
Standardwert
Nodespezifisch.

ownerDocument | NN 6 IE 5(Mac)/6(Win) DOM 1
| Schreibgeschützt
Gibt eine Referenz auf das document-Element zurück, das die aktuelle Node enthält. Potenziell hilfreich in Funktionen zur Verarbeitung von Objektreferenzen, die aus Ereigniseigenschaften abgerufen oder als ID-Zeichenfolgen übergeben wurden. Die entsprechende IE-Eigenschaft ist document.
Beispiel
    var currDoc = document.getElementById("elementID").ownerDocument;
Wert
document-Objektreferenz.
Standardwert
Das aktuelle document-Objekt.

parentNode | NN 6 IE 5 DOM 1
| Schreibgeschützt
Gibt eine Referenz auf die nächstäußere Node (in der Regel ein Element) zurück, die als Container der aktuellen Node im Dokumentbaum fungiert. Die Beziehung zwischen der aktuellen Node und seiner Parent-Node ist rein struktureller Natur und hat nichts mit dem Positionierungskontext zu tun. Eine Parent-Node ist eine Node, die die aktuelle Node vollständig einschließt – nicht zu verwechseln mit gleichrangigen Geschwister-Nodes, die bestenfalls eine Seite mit der aktuellen Node gemein haben. Sie können auch hier die gleichen Kaskadierungstricks anwenden wie bei der IE-Eigenschaft parentElement, es wäre jedoch riskant, die Ergebnisse der elementbezogenen IE-Eigenschaften vollkommen mit den Ergebnissen der nodebezogenen W3C-DOM-Eigenschaften gleichzusetzen, wenngleich neuere IE-Versionen beide Sichtweisen unterstützen.
Beispiel
    if (document.getElementById("elementID").parentNode.nodeType == 1) {
    		    document.getElementById("elementID").parentNode.style.fontSize = "14pt";
    		}
Wert
Elementobjektreferenz.
Standardwert
Nodespezifisch.

addEventListener( ) | NN 6 IE nicht zutreffend DOM 2
addEventListener("eventType", listenerFunction, useCapture) |
Bindet eine Ereignisbehandlungsroutinenfunktion an die aktuelle Node, sodass die Funktion ausgeführt wird, wenn ein Ereignis eines bestimmten Typs gezielt bei der Node eingeht oder sie im Rahmen der Ereignisverbreitung passiert. Beachten Sie, dass W3C-DOM-Ereignisse über Textnodes ebenso verbreitet werden wie über Elementnodes. Je nach der Einstellung des dritten (Booleschen) Parameters "horcht" die Node entweder während der Ereigniserfassung oder während der Ereignisverbreitung auf den Ereignistyp. Sie können diese Methode mit unterschiedlichen Parameterwerten mehrmals für dieselbe Node aufrufen und auf diese Weise beliebig viele Ereignisbehandlungsverhalten zuweisen, können für jedes Ereignis und jeden Verbreitungstyp jedoch jeweils immer nur eine Listener-Funktion aufrufen. Wenn der Event-Listener vorübergehend hinzufügt wurde, lässt er sich mithilfe der Methode removeEventListener( ) wieder entfernen.
Parameter
Eine Zeichenfolge mit einem dem Objektmodell des Browsers bekannten Ereignistyp (ohne das Präfix "on"). Das W3C-DOM kennt folgende Ereignistypen (und Netscape 6 implementiert die meisten von ihnen): Eine Referenz auf die Funktion, die ausgeführt werden soll, wenn die Node den Ereignistyp im angegebenen Verbreitungsmodus erkennt. Da es sich hierbei um eine Referenz auf ein Funktionsobjekt handelt, darf der Name weder in Klammern stehen noch die Klammern der Funktion enthalten. Währen der Ausführung übergibt der Browser das aktuelle event-Objekt automatisch als Parameter an die Listener-Funktion. Ein Boolescher Wert. true bedeutet, dass die Node nur auf den Ereignistyp horcht, während das Ereignis zur Zielnode hin verbreitet wird (Erfassungsphase). false bedeutet, dass die Node nur auf den Ereignistyp horcht, während das Ereignis vom Ereignisziel aus wieder nach außen verbreitet wird (Verbreitungsphase). Wenn es sich beim Ereignisziel um die aktuelle Node handelt, können beide Booleschen Werte verwendet werden.
Zurückgegebener Wert
Keiner.

appendChild( ) | NN 6 IE 5 DOM 1
appendChild(nodeObject) |
Fügt nach dem Ende der letzten Child-Node eine neue Node in das aktuelle Nodeobjekt ein. Das aktuelle Nodeobjekt muss in der Lage sein, Child-Nodes zu enthalten, andernfalls gibt die Methode eine Ausnahme zurück. Diese Methode ist das am häufigsten angewendete Verfahren zum Anhängen eines dynamisch erstellten Elements, einer Textnode oder eines Dokumentfragments an ein vorhandenes Element und kann beispielsweise in einem Skript genutzt werden, um neue Inhaltsabschnitte für ein Dokument zusammenzustellen. Wenn die als Parameter mit der Methode appendChild( ) übergebene Nodereferenz jedoch auf eine vorhandene Node im Dokumentbaum weist, wird diese Node zuerst aus dem Baum entfernt und anschließend wieder als letzter Eintrag in die Liste der Child-Nodes im aktuellen Objekt eingefügt. Auf diese Weise lässt sich eine Node rasch und mühelos von einer Position an das Ende eines Containers verschieben.
    <?xml version="1.0" encoding="ISO-8859-1">
    <results xmlns:libBook="http://catalog.umv.edu/schema">
    <libBook:title libBook:rareBooks="true">De Principia</libBook:title>
    </results>?
Wenn Sie eine Textnode als gleichrangige Node an eine vorhandene Textnode anhängen, werden die beiden Textnodes nicht automatisch zu einer Node zusammengefasst. Sie können jedoch alle gleichrangigen Textnodes zu einer großen Textnode verschmelzen, indem Sie die Methode normalize( ) des Parent-Objekts aufrufen.
Parameter
Referenz auf ein beliebiges Nodeobjekt eines Typs, der als Child-Objekt des aktuellen Objekts verwendet werden kann. Diese Node kann aus dynamisch erzeugten Inhalten erstellt (z. B. Textnode, Element oder Dokumentfragment) oder aus dem vorhandenen Dokumentbaum übernommen werden.
Zurückgegebener Wert
Referenz auf die angehängte Node.

hasAttributes( ) | NN 6 IE nicht zutreffend DOM 1
Gibt den Booleschen Wert true zurück, wenn das aktuelle Element ein Attribut aufweist, das im Tag explizit zugewiesen wurde.
Parameter
Keine.
Zurückgegebener Wert
Boolescher Wert: true | false.

hasChildNodes( ) | NN 6 IE 5 DOM 1
Gibt den Booleschen Wert true zurück, wenn die aktuelle Node eine oder mehrere Child-Nodes enthält.
Parameter
Keine.
Zurückgegebener Wert
Boolescher Wert: true | false.

insertBefore( ) | NN 6 IE 5 DOM 1
insertBefore(newChildNode, referenceChildNodeOrNull) |
Fügt eine Node als Child der aktuellen Node (in der Regel eines Elements) vor einer ihrer anderen Child-Nodes in die aktuelle Node ein. Bei der neuen Child-Node kann es sich um eine Referenz auf eine bereits im Dokumentbaum vorhandene Node handeln, in welchem Fall diese Node von ihrer ursprünglichen Position an die angegebene Position verschoben wird. Die Child-Node kann auch in Form einer Node eines beliebigen gültigen DOM-Nodetyps neu erstellt werden, beispielsweise als Dokumentfragment (das HTML-Tags enthalten kann) oder als Attr-Node (nur Netscape 6 und IE 6).
Mit dem zweiten Parameter können Sie eine der vorhandenen Child-Nodes als Referenzpunkt festlegen, vor der die neue Child-Node eingefügt wird. Wenn Sie als zweiten Parameter den Wert null übergeben (oder in IE den Wert weglassen), wird die neue Node als letzte Child-Node in die aktuelle Node eingefügt – das Resultat entspricht der Methode appendChild( ).
Parameter
Ein gültiges Nodeobjekt, das als Child-Objekt eines Parent-Objekts verwendet werden kann. Eine beliebige Child-Node der aktuellen Node oder Null.
Zurückgegebener Wert
Referenz auf das eingefügte Nodeobjekt.

isSupported( ) | NN 6 IE nicht zutreffend DOM 2
isSupported("feature", "version") |
Gibt den Booleschen Wert true zurück, wenn die aktuelle Node das angegebene W3C-DOM-Modul in der entsprechenden Version unterstützt (d. h. mit den erforderlichen Spezifikationen dieses Moduls konform ist). Die Methode hasFeature( ) des Objekts document.implementation führt zwar denselben Test durch, jedoch mit der gesamten Browseranwendung. Die Methode isSupported( ) hingegen führt diesen Test mit einer einzelnen Node durch, damit Sie feststellen können, ob eine bestimmte Funktion für den aktuellen Nodetyp unterstützt wird. Die Parameterwerte der Methoden isSupported( ) und document.implementation.hasFeature( ) sind identisch.
Es obliegt dem Browserhersteller sicherzustellen, dass das im Browser implementierte DOM mit den einzelnen Modulen konform ist, bevor er den Browser autorisiert, für ein Modul den Wert true zurückzugeben. Dies bedeutet natürlich nicht notwendigerweise, dass die Implementierung fehlerfrei oder mit anderen Implementierungen konsistent ist. Caveat Scriptor.
Theoretisch können Sie mithilfe dieser Methode prüfen, ob ein bestimmtes Modul unterstützt wird, bevor Sie auf eine Eigenschaft zugreifen oder eine Methode aufrufen, wie in dem folgenden Fragment, in dem myElem eine Referenz auf eine Elementnode ist:
In der Praxis ist die Objekterkennung eine bessere Lösung, da W3C-DOM-Berichtfunktionen noch nicht sehr verbreitet und ganz sicher nicht rückwärtskompatibel sind.
    if (myElem.isSupported("CSS", "2.0")) {
        myElem.style.color = "green";
    }
Parameter
Im W3C-DOM, Level 2, sind folgende Modulnamenzeichenfolgen zulässig (Groß-/Kleinschreibung beachten): Core, XML, HTML, Views, StyleSheets, CSS, CSS2, Events, UIEvents, MouseEvents, MutationEvents, HTMLEvents, Range, Traversal. Zeichenfolge, die die Haupt- und Unterversion des im ersten Parameter genannten DOM-Moduls angibt. Für W3C-DOM, Level 2, lautet die Versionsnummer 2.0, selbst wenn das DOM-Modul einen anderen W3C-Standard mit abweichendem Nummerierungssystem unterstützt. Der Test auf die HTML-DOM-Modulunterstützung gilt somit für Version 2.0, obgleich HTML bei Version 4.x steht.
Zurückgegebener Wert
Boolescher Wert: true | false.

normalize( ) | NN 6 IE nicht zutreffend DOM 2
Führt alle gleichrangigen Textnodes der aktuellen Node (Elementnode) in einer einzigen Textnode zusammen. Diese Methode muss unter Umständen nach dem Einfügen oder Entfernen von Child-Nodes eines Elements aufgerufen werden, wenn Ihre nodeübergreifenden Skripts davon ausgehen, dass ein zusammenhängender Text immer in einer einzigen Textnode enthalten ist. Laut dem W3C-DOM darf eine Textnode in einem normalen Dokumentbaum keine gleichrangigen Textnodes aufweisen.
Parameter
Keine.
Zurückgegebener Wert
Keiner.

removeChild( ) | NN 6 IE 5 DOM 1
removeChild(childNodeReference) |
Entfernt eine Child-Node aus dem aktuellen Element. Als Parameter muss eine Referenz auf eine im aktuellen Element verschachtelte Child-Node angegeben werden. Eine entfernte Child-Node ist nicht mehr im Dokumentbaum enthalten, liegt aber weiterhin im Arbeitsspeicher vor. Die Methode gibt eine Referenz auf die entfernte Node zurück, sodass Sie diese modifizieren und an anderer Stelle wieder in den Dokumentbaum einfügen können. Beachten Sie, dass Sie eine Node anweisen können, eine ihrer Child-Nodes zu entfernen, eine Node sich aber nicht selbst entfernen kann (siehe im Gegensatz dazu die Hinweise zur IE-Methode removeNode( )).
Parameter
Referenz auf eine vorhandene Child-Node.
Zurückgegebener Wert
Eine Referenz auf die entfernte Node.

replaceNode( ) | NN nicht zutreffend IE 5(Win) DOM nicht zutreffend
replaceNode(newNodeObjectReference) |
Ersetzt die aktuelle Node durch eine neue Node. Die neue Child-Node kann (z. B. als Text- oder Elementnode) entweder neu erstellt oder in Form einer Referenz auf eine an anderer Stelle im Dokumentbaum enthaltene Node eingebunden werden. Im letzteren Fall bewirkt der Aufruf der Methode replaceNode( ), dass die Node an ihrer ursprünglichen Position im Dokumentbaum entfernt und in die aktuelle Node eingefügt wird.
Parameter
Referenz auf das Nodeobjekt, das die aktuelle Node ersetzen soll.
Zurückgegebener Wert
Referenz auf die entfernte Node.

swapNode( ) | NN nicht zutreffend IE 5(Win) DOM nicht zutreffend
swapNode(otherNodeObject) |
Ersetzt die aktuelle Node im Dokumentbaum durch die als Parameter angegebene Node. Das andere Nodeobjekt kann entweder neu erstellt oder in Form einer Referenz auf eine an anderer Stelle im Dokumentbaum enthaltene Node eingebunden werden. Im letzteren Fall werden die beiden Nodes untereinander ausgetauscht. Wenn die beiden Nodes unterschiedliche Nodetypen oder Elementdarstellungstypen aufweisen (z. B. ein Inline-Element und ein Blockelement), kann dies deutliche Auswirkungen auf die Darstellung des Dokuments haben.
Parameter
Referenz auf ein beliebiges Nodeobjekt, in der Regel auf eine andere Node im Dokumentbaum.
Zurückgegebener Wert
Referenz auf die Node, von der aus die Methode aufgerufen wird (d. h. die aktuelle Node).

swapNode( ) | NN nicht zutreffend IE 5(Win) DOM nicht zutreffend
swapNode(otherNodeObject) |
Ersetzt die aktuelle Node im Dokumentbaum durch die als Parameter angegebene Node. Das andere Nodeobjekt kann entweder neu erstellt oder in Form einer Referenz auf eine an anderer Stelle im Dokumentbaum enthaltene Node eingebunden werden. Im letzteren Fall werden die beiden Nodes untereinander ausgetauscht. Wenn die beiden Nodes unterschiedliche Nodetypen oder Elementdarstellungstypen aufweisen (z. B. ein Inline-Element und ein Blockelement), kann dies deutliche Auswirkungen auf die Darstellung des Dokuments haben.
Parameter
Referenz auf ein beliebiges Nodeobjekt, in der Regel auf eine andere Node im Dokumentbaum.
Zurückgegebener Wert
Referenz auf die Node, von der aus die Methode aufgerufen wird (d. h. die aktuelle Node).