Paano magdagdag ng klase na active sa kasalukuyang elemento

Alamin kung paano magamit ang JavaScript para magdagdag ng klase na active sa kasalukuyang elemento.

Hilawin ang aktibong / kasalukuyang (nang napindot) na pindutan:

亲自试一试

Elementong aktibo

Unang hakbang - Magdagdag ng 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>

Dalawang hakbang - Magdagdag ng CSS:

/* Itatalaga ang estilo ng button */
.btn {
  border: none;
  outline: none;
  padding: 10px 16px;
  background-color: #f1f1f1;
  cursor: pointer;
}
/* Itatalaga ang estilo sa klase 'active' (at sa button na nasa mouseover) */
.active, .btn:hover {
  background-color: #666;
  color: white;
}

Tatlong hakbang - Magdagdag ng JavaScript:

// Hanapin ang elemento ng konteyner
var btnContainer = document.getElementById("myDIV");
// Hanapin ang lahat ng button na may class="btn" sa loob ng konteyner
var btns = btnContainer.getElementsByClassName("btn");
// Bumilang sa mga button, at magdagdag ng klase 'active' sa kasalukuyang/naklik na button
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";
  });
}

亲自试一试

Kung ang elemento ng button ay hindi pa nakatakda ang klase 'active', gamitin ang sumusunod na code:

// Hanapin ang elemento ng konteyner
var btnContainer = document.getElementById("myDIV");
// Hanapin ang lahat ng button na may class="btn" sa loob ng konteyner
var btns = btnContainer.getElementsByClassName("btn");
// Bumilang sa mga button, at magdagdag ng klase 'active' sa kasalukuyang/naklik na button
for (var i = 0; i < btns.length; i++) {
  btns[i].addEventListener("click", function() {
    var current = document.getElementsByClassName("active");
    // Kung walang klase 'active'
    if (current.length > 0) {
      current[0].className = current[0].className.replace(" active", "");
    }
    // Magdagdag ng klase 'active' sa kasalukuyang/naklik na button
    this.className += " active";
  });
}

亲自试一试