Document.createTreeWalker()
Die Methode Document.createTreeWalker()
erzeugt ein neues TreeWalker
Objekt und gibt dieses zurück.
Syntax
treeWalker = document.createTreeWalker(wurzel, anzeigeFilter, filter, entityReferenceExpansion);
Parameter
- wurzel
- Ist der Ursprungs- oder Wurzelknoten
Node
desTreeWalker
-Durchlaufens. Normalerweise ist dies ein Element, das zum Dokument gehört. - anzeigeFilter Optional
- Optionale
unsigned long
Bitmaske, erstellt durch bitweise ODER-Verknüpfung der Konstanten vonNodeFilter
. Erlaubt eine bequeme Filterung auf bestimmte Knotentypen. Der Standardwert ist0xFFFFFFFF
, auch repräsentiert durch dieSHOW_ALL
-Konstante.Konstante numerischer Wert Beschreibung NodeFilter.SHOW_ALL
-1
(Maximalwert vonunsigned long
)Zeigt alle Knoten. NodeFilter.SHOW_ATTRIBUTE
2
Zeigt Attribut-Knoten Attr
. Das ist nur sinnvoll, wenn derTreeWalker
mit einemAttr
-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
8
Zeigt CDATASection
-Knoten.NodeFilter.SHOW_COMMENT
128
Zeigt Comment
-Knoten.NodeFilter.SHOW_DOCUMENT
256
Zeigt Document
-Knoten.NodeFilter.SHOW_DOCUMENT_FRAGMENT
1024
Zeigt DocumentFragment
-Knoten.NodeFilter.SHOW_DOCUMENT_TYPE
512
Zeigt DocumentType
-Knoten.NodeFilter.SHOW_ELEMENT
1
Zeigt Element
-Knoten.NodeFilter.SHOW_ENTITY
32
Zeigt Entity
-Knoten. Dies ist nur sinnvoll, wenn einTreeWalker
mit einemEntity
-Knoten als Wurzel erzeugt wird. In diesem Fall erscheint derEntity
-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
16
Shows EntityReference
nodes.NodeFilter.SHOW_NOTATION
2048
Zeigt Notation
-Knoten. Dies ist nur sinnvoll, wenn einTreeWalker
mit einemNotation
-Knoten als Wurzel erzeugt wird. In diesem Fall erscheint derNotation
-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 ProcessingInstruction
-Knoten.NodeFilter.SHOW_TEXT
4
Zeigt Text
-Knoten. - filter Optional
- Ein optionaler
NodeFilter
. Muss ein ein Objekt mit einer Methode namensacceptNode
sein, die vomTreeWalker
aufgerufen wird. Diese Methode entscheidet, ob ein übergebener Knoten, der schon vonanzeigeFilter
durchgelassen wurde, ausgegeben wird oder nicht. - entityReferenceExpansion Optional
- Optionaler
Boolean
-Schalter. Entscheidet, ob der Teilbaum unter einerEntityReference
ausgelassen werden soll, wenn das Element ausgelassen wird.
Beispiel
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);
Spezfikationen
Spezfikation | Status | Bemerkung |
---|---|---|
DOM Die Definition von 'Document.createTreeWalker' in dieser Spezifikation. |
Lebender Standard | expandEntityReferences -Parameter wurde entfernt. whatToShow - und filter -Parameter wurden als optional markiert. |
Document Object Model (DOM) Level 2 Traversal and Range Specification Die Definition von 'Document.createTreeWalker' in dieser Spezifikation. |
Veraltet | Initiale Definition |
Browser-Kompatibilität
Wir konvertieren die Kompatibilitätsdaten in ein maschinenlesbares JSON Format.
Diese Kompatibilitätstabelle liegt noch im alten Format vor,
denn die darin enthaltenen Daten wurden noch nicht konvertiert.
Finde heraus wie du helfen kannst!
Siehe auch
- Schnittstelle des Ergebnis-Objekts:
TreeWalker
. - createTreeWalker auf MSDN