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

View in English Always switch to English

Auswahl und Traversierung im DOM-Baum

Die Selectors-API bietet Methoden, die es schnell und einfach machen, Element-Knoten aus dem DOM abzurufen, indem gegen eine Reihe von Selektoren verglichen wird. Dies ist viel schneller als frühere Techniken, bei denen es beispielsweise notwendig war, eine Schleife im JavaScript-Code zu verwenden, um die spezifischen Elemente zu finden, die Sie benötigten.

Das NodeSelector-Interface

Diese Spezifikation fügt zwei neue Methoden zu allen Objekten hinzu, die die Schnittstellen Document, DocumentFragment oder Element implementieren:

querySelector()

Gibt den ersten passenden Element-Knoten innerhalb des Teilbaums des Knotens zurück. Falls kein passender Knoten gefunden wird, wird null zurückgegeben.

querySelectorAll()

Gibt eine NodeList zurück, die alle passenden Element-Knoten innerhalb des Teilbaums des Knotens enthält, oder eine leere NodeList, wenn keine Übereinstimmungen gefunden werden.

Hinweis: Die von querySelectorAll() zurückgegebene NodeList ist nicht live, was bedeutet, dass Änderungen im DOM nicht in der Sammlung widergespiegelt werden. Dies unterscheidet sich von anderen DOM-Abfragemethoden, die live Node-Listen zurückgeben.

Sie finden Beispiele und Details, indem Sie die Dokumentation zu den Methoden Element.querySelector() und Element.querySelectorAll() lesen.

Selektoren

Die Selektormethoden akzeptieren Selektoren, um zu bestimmen, welches Element oder welche Elemente zurückgegeben werden sollen. Dies umfasst Selektorlisten, sodass Sie mehrere Selektoren in einer einzigen Anfrage gruppieren können.

Um die Privatsphäre des Benutzers zu schützen, werden einige Pseudoklassen nicht unterstützt oder verhalten sich anders. Zum Beispiel wird :visited keine Übereinstimmungen zurückgeben und :link wird als :any-link behandelt.

Nur Elemente können ausgewählt werden, daher werden Pseudoklassen nicht unterstützt.

Beispiele

Um alle Absatz- (p-)Elemente in einem Dokument auszuwählen, deren Klassen warning oder note enthalten, können Sie Folgendes tun:

js
const special = document.querySelectorAll("p.warning, p.note");

Sie können auch nach ID abfragen. Zum Beispiel:

js
const el = document.querySelector("#main, #basic, #exclamation");

Nach der Ausführung des obigen Codes enthält el das erste Element im Dokument, dessen ID main, basic oder exclamation ist.

Siehe auch