TreeWalker
Das TreeWalker
-Objekt repräsentiert die Knoten eines Dokument-Unterbaums und eine Position innerhalb dieser.
Ein TreeWalker
kann mit der Methode Document.createTreeWalker()
erstellt werden.
Instanz-Eigenschaften
Dieses Interface erbt keine Eigenschaften.
TreeWalker.root
Nur lesbar-
Gibt den Wurzel-
Node
zurück, wie bei der Erstellung desTreeWalker
spezifiziert. TreeWalker.whatToShow
Nur lesbar-
Gibt ein
unsigned long
zurück, das eine Bitmaske aus Konstanten ist, welche die Typen vonNode
beschreibt, die dargestellt werden müssen. Nicht übereinstimmende Knoten werden übersprungen, aber ihre Kinder können einbezogen werden, wenn relevant. Die möglichen Werte sind:Konstante Numerischer Wert Beschreibung NodeFilter.SHOW_ALL
4294967295
(das ist der Maximalwert vonunsigned long
)Zeigt alle Knoten. NodeFilter.SHOW_ATTRIBUTE
Veraltet2
Zeigt Attribute- Attr
-Knoten. Dies ist nur sinnvoll, wenn einTreeWalker
mit einemAttr
-Knoten als Wurzel erstellt wird. In diesem Fall bedeutet es, dass der Attribut-Knoten in der ersten Position der Iteration oder Traversierung erscheint. Da Attribute niemals Kinder anderer Knoten sind, erscheinen sie nicht bei der Traversierung durch den Dokument-Baum.NodeFilter.SHOW_CDATA_SECTION
Veraltet8
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
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.NodeFilter.SHOW_TEXT
4
Zeigt Text
-Knoten. TreeWalker.filter
Nur lesbar-
Gibt den
NodeFilter
zurück, der mit diesemTreeWalker
verbunden ist und verwendet wird, um die relevanten Knoten auszuwählen. TreeWalker.currentNode
-
Ist der
Node
, auf den derTreeWalker
aktuell zeigt.
Instanz-Methoden
Dieses Interface 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 Vorfahrenknoten 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 bei der Objekterstellung definierten Wurzelknoten liegt, wirdnull
zurückgegeben und der aktuelle Knoten 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 Kind. Wenn kein solches Kind existiert, wirdnull
zurückgegeben und der aktuelle Knoten 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 wenn SiewhatToShow
aufNodeFilter.SHOW_ALL
setzen, gibt ein Aufruf vonfirstChild()
einenText
-Knoten zurück und nicht einHTMLDivElement
-Objekt.html<!doctype html> <html lang="en"> <head><title>Demo</title> <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 Kind. Wenn kein solches Kind existiert, wirdnull
zurückgegeben und der aktuelle Knoten nicht geändert. TreeWalker.previousSibling()
-
Verschiebt den aktuellen
Node
zu seinem vorherigen Geschwisterknoten, falls vorhanden, und gibt das gefundene Geschwister zurück. Wenn es keinen solchen Knoten gibt, wirdnull
zurückgegeben und der aktuelle Knoten nicht geändert. TreeWalker.nextSibling()
-
Verschiebt den aktuellen
Node
zu seinem nächsten Geschwisterknoten, falls vorhanden, und gibt das gefundene Geschwister zurück. Wenn es keinen solchen Knoten gibt, wirdnull
zurückgegeben und der aktuelle Knoten 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 bei der Objekterstellung definierten Wurzelknoten liegt, wirdnull
zurückgegeben und der aktuelle Knoten 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 nicht geändert.
Spezifikationen
Specification |
---|
DOM Standard # interface-treewalker |
Browser-Kompatibilität
BCD tables only load in the browser
Siehe auch
- Die Erstellermethode:
Document.createTreeWalker()
. - Verwandtes Interface:
NodeIterator
.