TreeWalker
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
Das TreeWalker
-Objekt repräsentiert die Knoten eines Dokument-Teilbaums und eine Position innerhalb dieser.
Ein TreeWalker
kann mit der Methode Document.createTreeWalker()
erstellt werden.
Instanz-Eigenschaften
Diese Schnittstelle erbt keine Eigenschaften.
TreeWalker.root
Schreibgeschützt-
Gibt den Wurzelknoten
Node
zurück, wie beim Erstellen desTreeWalker
angegeben. TreeWalker.whatToShow
Schreibgeschützt-
Gibt ein
unsigned long
zurück, das eine Bitmaske aus Konstanten ist, die die Arten vonNode
beschreiben, die angezeigt werden müssen. Nicht übereinstimmende Knoten werden übersprungen, aber ihre Kinder können, falls relevant, einbezogen werden. Die möglichen Werte sind:Konstante Numerischer Wert Beschreibung NodeFilter.SHOW_ALL
4294967295
(das ist der maximale Wert vonunsigned long
)Zeigt alle Knoten an. NodeFilter.SHOW_ATTRIBUTE
Veraltet2
Zeigt Attributknoten Attr
an. Dies ist nur sinnvoll, wenn einTreeWalker
mit einemAttr
-Knoten als Wurzel erstellt wird. In diesem Fall bedeutet es, dass der Attributknoten an erster Stelle der Iteration erscheint. Da Attribute nie Kinder anderer Knoten sind, erscheinen sie nicht beim Durchlaufen des Dokumentbaums.NodeFilter.SHOW_CDATA_SECTION
Veraltet8
Zeigt CDATASection
-Knoten an.NodeFilter.SHOW_COMMENT
128
Zeigt Comment
-Knoten an.NodeFilter.SHOW_DOCUMENT
256
Zeigt Document
-Knoten an.NodeFilter.SHOW_DOCUMENT_FRAGMENT
1024
Zeigt DocumentFragment
-Knoten an.NodeFilter.SHOW_DOCUMENT_TYPE
512
Zeigt DocumentType
-Knoten an.NodeFilter.SHOW_ELEMENT
1
Zeigt Element
-Knoten an.NodeFilter.SHOW_ENTITY
Veraltet32
Veraltet, nicht mehr verwendbar. NodeFilter.SHOW_ENTITY_REFERENCE
Veraltet16
Veraltet, nicht mehr verwendbar. NodeFilter.SHOW_NOTATION
Veraltet2048
Veraltet, nicht mehr verwendbar. NodeFilter.SHOW_PROCESSING_INSTRUCTION
64
Zeigt ProcessingInstruction
-Knoten an.NodeFilter.SHOW_TEXT
4
Zeigt Text
-Knoten an. TreeWalker.filter
Schreibgeschützt-
Gibt den
NodeFilter
zurück, der mit diesemTreeWalker
verknüpft ist und verwendet wird, um die relevanten Knoten auszuwählen. TreeWalker.currentNode
-
Ist der
Node
, auf den derTreeWalker
derzeit zeigt.
Instanz-Methoden
Diese Schnittstelle erbt keine Methoden.
Hinweis:
Im Kontext eines TreeWalker
ist ein Knoten sichtbar, wenn er in der logischen Ansicht existiert, die durch die Argumente whatToShow
und filter
bestimmt wird. (Ob der Knoten auf dem Bildschirm sichtbar ist, ist irrelevant.)
TreeWalker.parentNode()
-
Verschiebt den aktuellen
Node
zum ersten sichtbaren Vorgängerknoten in der Dokumentreihenfolge und gibt den gefundenen Knoten zurück. Es verschiebt auch den aktuellen Knoten zu diesem. Wenn kein solcher Knoten existiert oder wenn er vor dem Wurzelknoten definiert beim Erstellen des Objekts ist, wirdnull
zurückgegeben und der aktuelle Knoten wird nicht geändert. TreeWalker.firstChild()
-
Verschiebt den aktuellen
Node
zum ersten sichtbaren Kind des aktuellen Knotens und gibt das gefundene Kind zurück. Es verschiebt auch den aktuellen Knoten zu diesem. Wenn kein solches Kind existiert, wirdnull
zurückgegeben und der aktuelle Knoten wird nicht geändert. Beachten Sie, dass der vonfirstChild()
zurückgegebene Knoten vom Wert vonwhatToShow
abhängt, der bei der Instanziierung desTreeWalker
-Objekts festgelegt wurde. Angenommen, der folgende HTML-Baum, und wennwhatToShow
aufNodeFilter.SHOW_ALL
gesetzt ist, gibt ein Aufruf vonfirstChild()
einenText
-Knoten und nicht einHTMLDivElement
-Objekt zurück.html<!doctype html> <html lang="en"> <head> <title>Demo</title> </head> <body> <div id="container"></div> </body> </html>
jslet walker = document.createTreeWalker(document.body, NodeFilter.SHOW_ALL); let node = walker.firstChild(); // nodeName: "#text"
Aber wenn wir:
jslet walker = document.createTreeWalker( document.body, NodeFilter.SHOW_ELEMENT, ); let node = walker.firstChild(); // nodeName: "DIV"
Das Gleiche gilt für
nextSibling()
,previousSibling()
,firstChild()
undlastChild()
TreeWalker.lastChild()
-
Verschiebt den aktuellen
Node
zum letzten sichtbaren Kind des aktuellen Knotens und gibt das gefundene Kind zurück. Es verschiebt auch den aktuellen Knoten zu diesem. Wenn kein solches Kind existiert, wirdnull
zurückgegeben und der aktuelle Knoten wird nicht geändert. TreeWalker.previousSibling()
-
Verschiebt den aktuellen
Node
zu seinem vorherigen Geschwisterknoten, falls vorhanden, und gibt das gefundene Geschwister zurück. Wenn kein solcher Knoten existiert, wirdnull
zurückgegeben und der aktuelle Knoten wird nicht geändert. TreeWalker.nextSibling()
-
Verschiebt den aktuellen
Node
zu seinem nächsten Geschwisterknoten, falls vorhanden, und gibt das gefundene Geschwister zurück. Wenn kein solcher Knoten existiert, wirdnull
zurückgegeben und der aktuelle Knoten wird nicht geändert. TreeWalker.previousNode()
-
Verschiebt den aktuellen
Node
zum vorherigen sichtbaren Knoten in der Dokumentreihenfolge und gibt den gefundenen Knoten zurück. Es verschiebt auch den aktuellen Knoten zu diesem. Wenn kein solcher Knoten existiert oder wenn er vor dem Wurzelknoten definiert beim Erstellen des Objekts ist, wirdnull
zurückgegeben und der aktuelle Knoten wird nicht geändert. TreeWalker.nextNode()
-
Verschiebt den aktuellen
Node
zum nächsten sichtbaren Knoten in der Dokumentreihenfolge und gibt den gefundenen Knoten zurück. Es verschiebt auch den aktuellen Knoten zu diesem. Wenn kein solcher Knoten existiert, wirdnull
zurückgegeben und der aktuelle Knoten wird nicht geändert.
Spezifikationen
Specification |
---|
DOM # interface-treewalker |
Browser-Kompatibilität
Siehe auch
- Die Erstellermethode:
Document.createTreeWalker()
. - Verwandte Schnittstelle:
NodeIterator
.