Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.Erfahre mehr über dieses Experiment.
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.
DasTreeWalker-Objekt repräsentiert die Knoten eines Dokument-Unterbaums und eine Position innerhalb dieser.
EinTreeWalker kann mit der MethodeDocument.createTreeWalker() erstellt werden.
In diesem Artikel
Instanz-Eigenschaften
Diese Schnittstelle erbt keine Eigenschaften.
TreeWalker.rootSchreibgeschütztGibt den Wurzel-
Nodezurück, wie beim Erstellen desTreeWalkerspezifiziert.TreeWalker.whatToShowSchreibgeschütztGibt ein
unsigned longzurück, welches eine Bitmaske aus Konstanten ist, die die Typen vonNodebeschreiben, die angezeigt werden müssen. Nicht übereinstimmende Knoten werden übersprungen, aber ihre Kinder können einbezogen werden, falls relevant.TreeWalker.filterSchreibgeschütztGibt den
NodeFilterzurück, der mit diesemTreeWalkerverbunden ist und verwendet wird, um die relevanten Knoten auszuwählen.TreeWalker.currentNodeIst der Knoten, auf den der
TreeWalkeraktuell zeigt.
Instanz-Methoden
Diese Schnittstelle erbt keine Methoden.
Hinweis:Im Kontext einesTreeWalker ist ein Knotensichtbar, wenn er in der logischen Ansicht existiert, die durch die ArgumentewhatToShow undfilter bestimmt wird. (Ob der Knoten auf dem Bildschirm sichtbar ist, ist irrelevant.)
TreeWalker.parentNode()Bewegt den aktuellen
Nodezum erstensichtbaren Vorfahrenknoten in der Dokumentreihenfolge und gibt den gefundenen Knoten zurück. Es bewegt auch den aktuellen Knoten zu diesem Knoten. Wenn ein solcher Knoten nicht existiert oder er vor demWurzelknoten liegt, der bei der Objekterstellung definiert wurde, wirdnullzurückgegeben und der aktuelle Knoten wird nicht geändert.TreeWalker.firstChild()Bewegt den aktuellen
Nodezum erstensichtbaren Kind des aktuellen Knotens und gibt das gefundene Kind zurück. Es bewegt auch 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 vom Wert vonwhatToShowabhängt, der während der Instanziierung desTreeWalker-Objekts festgelegt wurde. Bei Annahme des folgenden HTML-Baums und wenn SiewhatToShowaufNodeFilter.SHOW_ALLsetzen, wird ein Aufruf vonfirstChild()einenText-Knoten und nicht einHTMLDivElement-Objekt zurückgeben.html<!doctype html><html lang="en"> <head> <title>Demo</title> </head> <body> <div></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()Bewegt den aktuellen
Nodezum letztensichtbaren Kind des aktuellen Knotens und gibt das gefundene Kind zurück. Es bewegt auch 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 es keinen solchen Knoten gibt, 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 es keinen solchen Knoten gibt, wirdnullzurückgegeben und der aktuelle Knoten wird nicht geändert.TreeWalker.previousNode()Bewegt den aktuellen
Nodezum vorhergehendensichtbaren Knoten in der Dokumentreihenfolge und gibt den gefundenen Knoten zurück. Es bewegt auch den aktuellen Knoten zu diesem. Wenn ein solcher Knoten nicht existiert oder er vor demWurzelknoten liegt, der bei der Objekterstellung definiert wurde, wirdnullzurückgegeben und der aktuelle Knoten wird nicht geändert.TreeWalker.nextNode()Bewegt den aktuellen
Nodezum nächstensichtbaren Knoten in der Dokumentreihenfolge und gibt den gefundenen Knoten zurück. Es bewegt auch 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
Siehe auch
- Die Erstellermethode:
Document.createTreeWalker(). - Verwandte Schnittstelle:
NodeIterator.