Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

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 mit der Methode Document.createTreeWalker() erstellt werden.

Instanz-Eigenschaften

Diese Schnittstelle erbt keine Eigenschaften.

TreeWalker.root Schreibgeschützt

Gibt den Wurzel-Node zurück, wie beim Erstellen des TreeWalker spezifiziert.

TreeWalker.whatToShow Schreibgeschützt

Gibt ein unsigned long zurück, welches eine Bitmaske aus Konstanten ist, die die Typen von Node beschreiben, die angezeigt werden müssen. Nicht übereinstimmende Knoten werden übersprungen, aber ihre Kinder können einbezogen werden, falls relevant.

TreeWalker.filter Schreibgeschützt

Gibt den NodeFilter zurück, der mit diesem TreeWalker verbunden ist und verwendet wird, um die relevanten Knoten auszuwählen.

TreeWalker.currentNode

Ist der Knoten, auf den der TreeWalker aktuell 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()

Bewegt den aktuellen Node zum ersten sichtbaren 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 dem Wurzelknoten liegt, der bei der Objekterstellung definiert wurde, wird null zurückgegeben und der aktuelle Knoten wird nicht geändert.

TreeWalker.firstChild()

Bewegt den aktuellen Node zum ersten sichtbaren 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, wird null zurückgegeben und der aktuelle Knoten wird nicht geändert. Beachten Sie, dass der von firstChild() zurückgegebene Knoten vom Wert von whatToShow abhängt, der während der Instanziierung des TreeWalker-Objekts festgelegt wurde. Bei Annahme des folgenden HTML-Baums und wenn Sie whatToShow auf NodeFilter.SHOW_ALL setzen, wird ein Aufruf von firstChild() einen Text-Knoten und nicht ein HTMLDivElement-Objekt zurückgeben.

html
<!doctype html>
<html lang="en">
  <head>
    <title>Demo</title>
  </head>
  <body>
    <div id="container"></div>
  </body>
</html>
js
let walker = document.createTreeWalker(document.body, NodeFilter.SHOW_ALL);
let node = walker.firstChild(); // nodeName: "#text"

Aber wenn wir:

js
let walker = document.createTreeWalker(
  document.body,
  NodeFilter.SHOW_ELEMENT,
);
let node = walker.firstChild(); // nodeName: "DIV"

Das Gleiche gilt für nextSibling(), previousSibling(), firstChild() und lastChild().

TreeWalker.lastChild()

Bewegt den aktuellen Node zum letzten sichtbaren 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, wird null zurückgegeben und der aktuelle Knoten wird nicht geändert.

TreeWalker.previousSibling()

Bewegt den aktuellen Node zu seinem vorhergehenden Geschwister, falls vorhanden, und gibt das gefundene Geschwister zurück. Wenn es keinen solchen Knoten gibt, wird null zurückgegeben und der aktuelle Knoten wird nicht geändert.

TreeWalker.nextSibling()

Bewegt den aktuellen Node zu seinem nächsten Geschwister, falls vorhanden, und gibt das gefundene Geschwister zurück. Wenn es keinen solchen Knoten gibt, wird null zurückgegeben und der aktuelle Knoten wird nicht geändert.

TreeWalker.previousNode()

Bewegt den aktuellen Node zum vorhergehenden sichtbaren 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 dem Wurzelknoten liegt, der bei der Objekterstellung definiert wurde, wird null zurückgegeben und der aktuelle Knoten wird nicht geändert.

TreeWalker.nextNode()

Bewegt den aktuellen Node zum nächsten sichtbaren 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, wird null zurückgegeben und der aktuelle Knoten wird nicht geändert.

Spezifikationen

Specification
DOM
# interface-treewalker

Browser-Kompatibilität

Siehe auch