--- title: Document.createTreeWalker() slug: Web/API/Document/createTreeWalker tags: - API - DOM - DOM-Referenz - Document - Dokument - Méthode translation_of: Web/API/Document/createTreeWalker ---
Die Methode Document.createTreeWalker()
erzeugt ein neues {{domxref("TreeWalker")}} Objekt und gibt dieses zurück.
treeWalker = document.createTreeWalker(wurzel, anzeigeFilter, filter, entityReferenceExpansion);
unsigned long
Bitmaske, erstellt durch bitweise ODER-Verknüpfung der Konstanten von NodeFilter
. Erlaubt eine bequeme Filterung auf bestimmte Knotentypen. Der Standardwert ist 0xFFFFFFFF
, auch repräsentiert durch die SHOW_ALL
-Konstante.
Konstante | numerischer Wert | Beschreibung |
NodeFilter.SHOW_ALL |
-1 (Maximalwert von unsigned long ) |
Zeigt alle Knoten. |
NodeFilter.SHOW_ATTRIBUTE {{deprecated_inline}} |
2 |
Zeigt Attribut-Knoten {{domxref("Attr")}}. Das ist nur sinnvoll, wenn der {{domxref("TreeWalker")}} mit einem {{domxref("Attr")}}-Knoten als Wurzel erzeugt wird. In diesem Fall erscheint der Attribut-Knoten an der ersten Position bei der Durchquerung. Da Attribute nie Kind-Knoten anderer Knoten sind, erscheinen sie nicht, wenn der Dokumentenbaum durchlaufen wird. |
NodeFilter.SHOW_CDATA_SECTION {{deprecated_inline}} |
8 |
Zeigt {{domxref("CDATASection")}}-Knoten. |
NodeFilter.SHOW_COMMENT |
128 |
Zeigt {{domxref("Comment")}}-Knoten. |
NodeFilter.SHOW_DOCUMENT |
256 |
Zeigt {{domxref("Document")}}-Knoten. |
NodeFilter.SHOW_DOCUMENT_FRAGMENT |
1024 |
Zeigt {{domxref("DocumentFragment")}}-Knoten. |
NodeFilter.SHOW_DOCUMENT_TYPE |
512 |
Zeigt {{domxref("DocumentType")}}-Knoten. |
NodeFilter.SHOW_ELEMENT |
1 |
Zeigt {{domxref("Element")}}-Knoten. |
NodeFilter.SHOW_ENTITY {{deprecated_inline}} |
32 |
Zeigt {{domxref("Entity")}}-Knoten. Dies ist nur sinnvoll, wenn ein {{domxref("TreeWalker")}} mit einem {{domxref("Entity")}}-Knoten als Wurzel erzeugt wird. In diesem Fall erscheint der {{domxref("Entity")}}-Knoten an der ersten Position bei der Durchquerung. Da Entity-Knoten nie Kind-Knoten anderer Knoten sind, erscheinen sie nicht, wenn der Dokumentenbaum durchlaufen wird. |
NodeFilter.SHOW_ENTITY_REFERENCE {{deprecated_inline}} |
16 |
Shows {{domxref("EntityReference")}} nodes. |
NodeFilter.SHOW_NOTATION {{deprecated_inline}} |
2048 |
Zeigt {{domxref("Notation")}}-Knoten. Dies ist nur sinnvoll, wenn ein {{domxref("TreeWalker")}} mit einem {{domxref("Notation")}}-Knoten als Wurzel erzeugt wird. In diesem Fall erscheint der {{domxref("Notation")}}-Knoten an der ersten Position bei der Durchquerung. Da Entity-Knoten nie Kind-Knoten anderer Knoten sind, erscheinen sie nicht, wenn der Dokumentenbaum durchlaufen wird. |
NodeFilter.SHOW_PROCESSING_INSTRUCTION |
64 |
Zeigt {{domxref("ProcessingInstruction")}}-Knoten. |
NodeFilter.SHOW_TEXT |
4 |
Zeigt {{domxref("Text")}}-Knoten. |
acceptNode
sein, die vom {{domxref("TreeWalker")}} aufgerufen wird. Diese Methode entscheidet, ob ein übergebener Knoten, der schon von anzeigeFilter
durchgelassen wurde, ausgegeben wird oder nicht.Das folgende Beispiel läuft über alle Knoten im body
, filtert die Menge auf Elementknoten und gibt im filter
jeden Knoten als durchlässig an (die Filterung auf die Elementknoten hätte auch in der acceptNode()
-Methode erfolgen können).
Mithilfe des treeWalker
werden alle durchgelassenen Knoten in ein Array gesammelt.
var treeWalker = document.createTreeWalker( document.body, NodeFilter.SHOW_ELEMENT, { acceptNode: function(node) { return NodeFilter.FILTER_ACCEPT; } }, false ); var nodeList = []; while(treeWalker.nextNode()) nodeList.push(treeWalker.currentNode);
Spezfikation | Status | Bemerkung |
---|---|---|
{{SpecName('DOM WHATWG', '#dom-document-createtreewalker', 'Document.createTreeWalker')}} | {{Spec2('DOM WHATWG')}} | expandEntityReferences -Parameter wurde entfernt. whatToShow - und filter -Parameter wurden als optional markiert. |
{{SpecName('DOM2 Traversal_Range', 'traversal.html#NodeIteratorFactory-createTreeWalker', 'Document.createTreeWalker')}} | {{Spec2('DOM2 Traversal_Range')}} | Initiale Definition |
{{CompatibilityTable}}
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
grundsätzliche Unterstützung | 1.0 | {{CompatGeckoDesktop("1.8.1")}} | 9.0 | 9.0 | 3.0 |
whatToShow und filter optional |
1.0 | {{CompatGeckoDesktop("12")}} | {{CompatNo}} | {{CompatVersionUnknown}} | 3.0 |
expandEntityReferences |
1.0 | {{CompatGeckoDesktop("1.8.1")}} In {{CompatGeckoDesktop("12")}} entfernt. |
9.0 | 9.0 | 3.0 |
Feature | Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|
grundsätzliche Unterstützung | {{CompatVersionUnknown}} | {{CompatGeckoMobile("1.8.1")}} | {{CompatVersionUnknown}} | 9.0 | 3.0 |
whatToShow und filter optional |
{{CompatVersionUnknown}} | {{CompatGeckoDesktop("12")}} | {{CompatNo}} | {{CompatVersionUnknown}} | 3.0 |
expandEntityReferences |
{{CompatVersionUnknown}} | {{CompatGeckoDesktop("1.8.1")}} In {{CompatGeckoDesktop("12")}} entfernt |
{{CompatVersionUnknown}} | 9.0 | 3.0 |