TreeWalker
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since Juli 2015.
Das TreeWalker-Objekt repräsentiert die Knoten eines Dokument-Unterbaums und eine Position innerhalb dieser.
Ein TreeWalker kann mittels der Methode Document.createTreeWalker() erstellt werden.
Instanz-Eigenschaften
Diese Schnittstelle erbt keine Eigenschaften.
TreeWalker.rootSchreibgeschützt-
Gibt den Wurzel-
Nodezurück, wie beim Erstellen desTreeWalkerangegeben. TreeWalker.whatToShowSchreibgeschützt-
Gibt ein
unsigned longzurück, das aus einer Bitmaske aus Konstanten besteht, die die Arten vonNodebeschreiben, die präsentiert werden müssen. Nicht übereinstimmende Knoten werden übersprungen, aber ihre Kinder können gegebenenfalls einbezogen werden. Die möglichen Werte sind:Konstante Numerischer Wert Beschreibung NodeFilter.SHOW_ALL4294967295(das ist der Maximalwert vonunsigned long)Zeigt alle Knoten an. NodeFilter.SHOW_ATTRIBUTEVeraltet2Zeigt Attribut- Attr-Knoten an. Dies ist nur sinnvoll, wenn einTreeWalkermit einemAttr-Knoten als Wurzel erstellt wird. In diesem Fall bedeutet es, dass der Attributknoten in der ersten Position der Iteration oder Durchquerung erscheint. Da Attribute niemals Kinder anderer Knoten sind, erscheinen sie nicht, wenn über den Dokumentbaum traversiert wird.NodeFilter.SHOW_CDATA_SECTIONVeraltet8Zeigt CDATASection-Knoten an.NodeFilter.SHOW_COMMENT128Zeigt Comment-Knoten an.NodeFilter.SHOW_DOCUMENT256Zeigt Document-Knoten an.NodeFilter.SHOW_DOCUMENT_FRAGMENT1024Zeigt DocumentFragment-Knoten an.NodeFilter.SHOW_DOCUMENT_TYPE512Zeigt DocumentType-Knoten an.NodeFilter.SHOW_ELEMENT1Zeigt Element-Knoten an.NodeFilter.SHOW_ENTITYVeraltet32Veraltet, nicht mehr nutzbar. NodeFilter.SHOW_ENTITY_REFERENCEVeraltet16Veraltet, nicht mehr nutzbar. NodeFilter.SHOW_NOTATIONVeraltet2048Veraltet, nicht mehr nutzbar. NodeFilter.SHOW_PROCESSING_INSTRUCTION64Zeigt ProcessingInstruction-Knoten an.NodeFilter.SHOW_TEXT4Zeigt Text-Knoten an. TreeWalker.filterSchreibgeschützt-
Gibt den
NodeFilterzurück, der mit diesemTreeWalkerassoziiert ist, um die relevanten Knoten auszuwählen. TreeWalker.currentNode-
Ist der
Node, auf den derTreeWalkerderzeit 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 Argumenteparameter whatToShow und filter bestimmt wird. (Ob der Knoten auf dem Bildschirm sichtbar ist, ist irrelevant.)
TreeWalker.parentNode()-
Bewegt den aktuellen
Nodezur ersten sichtbaren Vorfahrenknoten in der Dokumentreihenfolge und gibt den gefundenen Knoten zurück. Es bewegt ebenfalls den aktuellen Knoten zu diesem. Wenn ein solcher Knoten nicht existiert oder wenn er vor dem bei der Objekterstellung definierten Wurzelknoten liegt, wirdnullzurückgegeben und der aktuelle Knoten wird nicht geändert. TreeWalker.firstChild()-
Bewegt den aktuellen
Nodezum ersten sichtbaren Kind des aktuellen Knotens und gibt das gefundene Kind zurück. Es bewegt ebenfalls den aktuellen Knoten zu diesem Kind. Wenn ein solches Kind nicht existiert, wirdnullzurückgegeben und der aktuelle Knoten wird nicht geändert. Beachten Sie, dass der vonfirstChild()zurückgegebene Knoten von dem während der Instanziierung desTreeWalker-Objekts festgelegten Wert vonwhatToShowabhängt. Angenommen, der folgende HTML-Baum und wenn SiewhatToShowaufNodeFilter.SHOW_ALLsetzen, gibt ein Aufruf vonfirstChild()einenText-Knoten und keinHTMLDivElement-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 das tun:
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()-
Bewegt den aktuellen
Nodezum letzten sichtbaren Kind des aktuellen Knotens und gibt das gefundene Kind zurück. Es bewegt ebenfalls den aktuellen Knoten zu diesem Kind. Wenn ein solches Kind nicht existiert, wirdnullzurückgegeben und der aktuelle Knoten wird nicht geändert. TreeWalker.previousSibling()-
Bewegt den aktuellen
Nodezu seinem vorhergehenden Geschwister, falls vorhanden, und gibt das gefundene Geschwister zurück. Wenn ein solcher Knoten nicht existiert, wirdnullzurückgegeben und der aktuelle Knoten wird nicht geändert. TreeWalker.nextSibling()-
Bewegt den aktuellen
Nodezu seinem nächsten Geschwister, falls vorhanden, und gibt das gefundene Geschwister zurück. Wenn ein solcher Knoten nicht existiert, wirdnullzurückgegeben und der aktuelle Knoten wird nicht geändert. TreeWalker.previousNode()-
Bewegt den aktuellen
Nodezum vorhergehenden sichtbaren Knoten in der Dokumentreihenfolge und gibt den gefundenen Knoten zurück. Es bewegt ebenfalls den aktuellen Knoten zu diesem. Wenn ein solcher Knoten nicht existiert oder wenn er vor dem bei der Objekterstellung definierten Wurzelknoten liegt, wirdnullzurückgegeben und der aktuelle Knoten wird nicht geändert. TreeWalker.nextNode()-
Bewegt den aktuellen
Nodezum nächsten sichtbaren Knoten in der Dokumentreihenfolge und gibt den gefundenen Knoten zurück. Es bewegt ebenfalls den aktuellen Knoten zu diesem. Wenn ein solcher Knoten nicht existiert, wirdnullzurückgegeben und der aktuelle Knoten wird nicht geändert.
Spezifikationen
| Specification |
|---|
| DOM> # interface-treewalker> |
Browser-Kompatibilität
Loading…
Siehe auch
- Die Erzeugermethode:
Document.createTreeWalker(). - Verwandte Schnittstelle:
NodeIterator.