CSS-Klassen in JavaScript ändern

Immer wenn wir mit den DOM-Elementen innerhalb von JavaScript arbeiten, gibt es Zeiten und Situationen, in denen wir einige Interaktionen mit den HTML-Elementen bereitstellen müssen. Zum Beispiel das Ändern der Hintergrundfarbe eines Elements bei einem Benutzerklick, das Ausblenden eines Elements, das Ändern des Aussehens eines Elements usw. Dies kann meistens durch Ändern der Klassen erfolgen.

Die JavaScript-Sprache bietet Ihnen verschiedene Möglichkeiten, dies alles zu tun. Sehen wir uns verschiedene Methoden an, mit denen wir die CSS-Klassen aus den HTML-Elementen ändern können.

Verschiedene Möglichkeiten zum Ändern der CSS-Klasse in JavaScript

Unten haben wir ein HTML-Dokument, das aus einem einzelnen div-Element innerhalb des body-Tags besteht. Wir haben auch ein style-Tag, das eine ID und zwei Klassen enthält.

<!DOCTYPE html>
<html lang="en">
<head>
  <title>Document</title>
  <style>
    #dimensions{
      width: 500px;
      height: 500px;
    }
    .bg_1{
      background-color: crimson;
    }

    .bg_2{
      background-color: teal;
    }
  </style>
</head>
<body>

  <div id="dimensions" class="dimensions bg_1">
  
  <script>
      let myDiv = document.getElementById('dimensions');
      
      myDiv.addEventListener("click", function(e) {
          
      });
  </script>

</body>
</html>

Die ID mit dem Namen dimensions enthält die Breite und Höhe. bg_1 und bg_2 sind zwei Klassen, die die Eigenschaft background-color mit den Farben crimson und teal haben. Die dimensions und bg_1 werden auf das HTML-Element innerhalb des body-Tags angewendet.

Aus dem Code können Sie sehen, dass wir das Element div bereits in der Variablen myDiv gespeichert haben, indem wir die Methode document.getElementById() verwenden und die Element-ID (in diesem Fall dimensions) als String übergeben im Inneren.

Unser Ziel hier ist es, die Hintergrundfarbe des Elements div von Purpur zu Blaugrün zu ändern, indem wir die Klasse bg_1 durch bg_2 ändern. Dies geschieht nur, wenn der Benutzer das Element div aktiviert. Dazu haben wir auch das Event onClick mit der Methode addEventListener() auf der Variable myDiv im JavaScript hinzugefügt.

Wir werden verschiedene Wege beschreiten, um dies zu erreichen, wie unten gezeigt. Der gesamte Code, den wir unten schreiben werden, wird in die Methode addEventListener() unter dem Tag script eingefügt.

Mit der Methode className

Der einfachste Weg, eine CSS-Klasse in JavaScript zu ändern, ist die Methode className. Mit dieser Methode können Sie alle vorhandenen Klassen, die bereits im HTML-Element vorhanden sind, durch einige andere Klassen ersetzen. Sie können alle neuen Klassen, die Sie hinzufügen möchten, als Zeichenkette mit Leerzeichentrennung angeben.

myDiv.className = "bg_2";

Beachten Sie, dass dadurch alle vorhandenen Klassen des Elements durch die neuen Klassen ersetzt werden.

Verwenden der Methoden classList.remove und classList.add

Mit Hilfe der Methode classList kann auf alle Klassen zugegriffen werden, die auf dem HTML-Element vorhanden sind. Mit classList.remove können Sie eine bestimmte Klasse entfernen und mit classList.add neue Klassen zum Element hinzufügen. In unserem Beispiel entfernen wir zuerst die Klasse bg_1 mit classList.remove und fügen dann eine neue Klasse, z. B. bg_2, mit classList.add wie unten gezeigt hinzu.

myDiv.classList.remove("bg_1");
myDiv.classList.add("bg_2");

So ändern wir CSS-Klassen mit diesen Methoden.

Mit der Methode classList.replace()

Eine andere Möglichkeit, die CSS-Klasse zu ändern, ist die Methode classList.replace(). Diese Methode benötigt zwei Argumente, das erste ist die vorhandene Klasse, die bereits auf dem Element vorhanden ist, das ersetzt werden soll (In diesem Fall bg_1), und das zweite ist die neue Klasse, die Sie dem Element hinzufügen möchten (In dieser Fall bg_2).

myDiv.classList.replace("bg_1", "bg_2");

Dies sind einige der Methoden, mit denen wir die CSS-Klassen in JavaScript ändern können.