HTMLCSSJavaScriptIndexRoadmapImpressum

CSS-Klassen dynamisch verwalten

Mit classList steuerst du CSS-Klassen per JavaScript – ohne den gesamten class-String von Hand zu bauen. So änderst du Aussehen und Zustand von Elementen gezielt und übersichtlich.

classList.add()

Mit classList.add() fügst du eine oder mehrere Klassen hinzu. Existiert die Klasse schon, passiert nichts – sie wird nicht doppelt gesetzt.

classList.add()

1const box = document.querySelector(".box");
2
3box.classList.add("aktiv");
4// mehrere Klassen auf einmal:
5box.classList.add("aktiv", "hervorgehoben");

Output

Die Box erhält die Klasse aktiv (und optional weitere). CSS-Regeln für .aktiv greifen sofort.

classList.remove()

classList.remove() entfernt eine oder mehrere Klassen. Fehlt die Klasse, ist das kein Fehler – der Aufruf bleibt wirkungslos.

classList.remove()

1const box = document.querySelector(".box");
2
3box.classList.remove("aktiv");
4// mehrere Klassen auf einmal:
5box.classList.remove("aktiv", "hervorgehoben");

Output

Die Klasse aktiv wird von der Box entfernt. Zugehörige Styles gelten nicht mehr.

classList.toggle()

classList.toggle() schaltet eine Klasse um: Ist sie gesetzt, wird sie entfernt – sonst hinzugefügt. Ideal für Menüs, Dark Mode oder aktive Buttons.

classList.toggle()

1const box = document.querySelector(".box");
2
3box.classList.toggle("aktiv");
4// Klasse ist da → wird entfernt
5// Klasse fehlt → wird hinzugefügt

Output

Jeder Aufruf wechselt den Zustand: aktiv an oder aus.

classList.replace()

Mit classList.replace() tauschst du eine vorhandene Klasse gegen eine andere. Gibt es die alte Klasse nicht, bleibt alles unverändert.

classList.replace()

1const status = document.querySelector(".status");
2
3status.classList.replace("offen", "geschlossen");

Output

Die Klasse offen wird durch geschlossen ersetzt.

classList.contains()

classList.contains() prüft, ob eine Klasse gesetzt ist, und liefert true oder false. Damit kannst du Logik abhängig vom aktuellen Zustand steuern.

classList.contains()

1const box = document.querySelector(".box");
2
3if (box.classList.contains("aktiv")) {
4    console.log("Die Klasse aktiv ist gesetzt.");
5} else {
6    console.log("Die Klasse aktiv fehlt.");
7}

Output

In der Konsole erscheint, ob die Klasse aktiv vorhanden ist oder nicht.

Im nächsten Kapitel lernst du: Attribute dynamisch ändern