informatiker.lernen(fia);

Lernen macht hungrig oder? Dann koch dir doch was!


Werbung* - Unterstütze die Seite gerne durch einen Kauf bei Hello Fresh!

informatiker.lernen(fia);

Letzte Änderung: 24-01-2026

Webentwicklung: DOM-Elemente holen und manipulieren mit querySelector und querySelectorAll

Die Suche nach Elementen via CSS-Selektor war einst eine der großen Stärken des Frameworks jQuery. In diesem kurzen Tutorial geht es darum, wie man mit JavaScript ganz ohne Framework einfach auf Elemente im DOM via CSS-Selector referenzieren kann.

Einfügen

Was ist überhaupt das DOM?

Das Document Object Model (DOM) in Webbrowsern ist eine Schnittstelle, die die Struktur und den Inhalt von Webseiten als Objektbaum darstellt. Dadurch können Skripte, insbesondere JavaScript, die Elemente der Seite dynamisch ändern, neue Inhalte hinzufügen oder bestehende Inhalte modifizieren. Dieser Vorgang des Modifizierens von DOM-Elementen nennt sich DOM-Manipulation.

Die Baumstruktur ist durch verschiedene Knoten (Nodes) abgebildet. Dabei unterscheidet man Dokumenttyp-Knoten (<!DOCTYPE html>), Dokumentknoten (Elternknoten von html), Elementknoten, Textknoten, Attributknoten und Kommentarknoten. Man kann sich das bildlich etwa so vorstellen:

Die Elemente stehen zueinander in Beziehung, nachfolgend dargestellt:

Einfügen

Der alte Weg: getElementById oder getElementsByClassName

Natürlich das geht immer, Elemente mit Hilfe ihrer id oder mit ihrer Klasse holen. Das Problem ist, man ist auf die id bzw. Klasse beschränkt.

Einfügen

Die vielseitige Alternative: querySelector

Die Funktion querySelector gibt uns die Möglichkeit einfach per CSS-Selektor DOM-Elemente zu holen. Das hat natürlich einen großen Vorteil, denn man kann alles suchen und auch Pseudo-Selektoren und Kombinatoren dabei verwenden. Es kommt einfach nur auf den richtigen Selektor an.

Statt (wie oben) das Style-Attribut des Elements selbst zu manipulieren, sollte man aber lieber Klassen hinzufügen. Diese kann man dann übersichtlich und gut auffindbar im CSS-Style-Dokument formatieren.

Einfügen

Mehrere Element holen: Nodelist via querySelectorAll

Die Funktion querySelectorAll holt alle Elemente, auf die der CSS-Selektor selektiert und gibt ein Sammlung der DOM-Elemente als NodeList zurück. Über die NodeList kann natürlich iteriert werden und so ist jedes gefundene Element leicht erreichbar und manipulierbar.

Im unteren Beispiel werden alle Elemente mit dem Klassen-Attribut "panel" geholt und via Schleife ausgeblendet (durch hinzufügen einer entsprechenden Klasse).

Einfügen

Tipp: Statt Klassen kann man auch Data-Attribute nutzen

Um eine Trennung zwischen den Class-Attributen, die zur Formatierung in CSS genutzt werden und dem Auffinden von Elementen via JavaScript zu erhalten, wäre auch die Nutzung von Data-Attributen möglich.

Bei der Nutzung von Data-Attributen könnte man diese auch für entsprechende Informationen nutzen, zum Beispiel um nur bestimmte Panel zu suchen oder das obige Beispiel einfacher umsetzen:

Einfügen

Fazit

In der modernen Webentwicklung mit JavaScript sind die Funktionen querySelector und querySelectorAll nicht wegzudenken. CSS-Selektoren mit all ihren Möglichkeiten zur Suche zu nutzen ist wirklich furchtbar praktisch und wird seit 2015 in allen Browsern unterstützt.

Einfügen


Lernen macht hungrig oder? Dann koch dir doch was!


Werbung* - Unterstütze die Seite gerne durch einen Kauf bei Hello Fresh!

Dein Feedback ist uns wichtig

Hat dir dieser Inhalt gefallen? Hast Du Kritik oder Verbesserungsvorschläge? Hast Du inhaltliche Fehler entdeckt?

Schreib uns gerne dein Anliegen an info@informatiker-lernen.de