Sådan tilføjer du active-klasse til det aktuelle element

Lær at bruge JavaScript til at tilføje active-klasse til det aktuelle element.

Vis aktive/kunne trykte knapper:

Try it yourself

Aktiv element

Første trin - Tilføj HTML:

<div id="myDIV">
  <button class="btn">1</button>
  <button class="btn active">2</button>
  <button class="btn">3</button>
  <button class="btn">4</button>
  <button class="btn">5</button>
</div>

Andet trin - Tilføj CSS:

/* Sæt stil til knapper */
.btn {
  border: none;
  outline: none;
  padding: 10px 16px;
  background-color: #f1f1f1;
  cursor: pointer;
}
/* Sæt stil til 'active' klasse (og knap ved museoverførsel) */
.active, .btn:hover {
  background-color: #666;
  color: white;
}

Tredje trin - Tilføj JavaScript:

// Få beholder-elementet
var btnContainer = document.getElementById("myDIV");
// Få alle knapper med class="btn" i beholderen
var btns = btnContainer.getElementsByClassName("btn");
// Gennemgå knapper og tilføj 'active' klasse til den aktuelle/klikkede knap
for (var i = 0; i < btns.length; i++) {
  btns[i].addEventListener("click", function() {
    var current = document.getElementsByClassName("active");
    current[0].className = current[0].className.replace(" active", "");
    this.className += " active";
  });
}

Try it yourself

Hvis button-elementet ikke har sat 'active' klasse fra starten, brug følgende kode:

// Få beholder-elementet
var btnContainer = document.getElementById("myDIV");
// Få alle knapper med class="btn" i beholderen
var btns = btnContainer.getElementsByClassName("btn");
// Gennemgå knapper og tilføj 'active' klasse til den aktuelle/klikkede knap
for (var i = 0; i < btns.length; i++) {
  btns[i].addEventListener("click", function() {
    var current = document.getElementsByClassName("active");
    // Hvis der ikke er en 'active' klasse
    if (current.length > 0) {
      current[0].className = current[0].className.replace(" active", "");
    }
    // Tilføj klassen 'active' til den aktuelle/klikkede knap
    this.className += " active";
  });
}

Try it yourself