Bagaimana menambahkan kelas 'active' ke elemen ini

Belajar bagaimana menggunakan JavaScript untuk menambahkan kelas 'active' ke elemen ini

Tampilkan tombol yang aktif/ini (sudah ditekan)

Coba sendiri

Elemen aktif

Tahap pertama - Tambahkan 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>

Tahap kedua - Tambahkan CSS:

/* Menata gaya tombol */
.btn {
  border: none;
  outline: none;
  padding: 10px 16px;
  background-color: #f1f1f1;
  cursor: pointer;
}
/* Menata gaya kelas 'active' (dan tombol saat hover) */
.active, .btn:hover {
  background-color: #666;
  color: white;
}

Tahap ketiga - Tambahkan JavaScript:

// Mendapatkan elemen kontainer
var btnContainer = document.getElementById("myDIV");
// Mendapatkan semua tombol dengan class='btn' di dalam kontainer
var btns = btnContainer.getElementsByClassName("btn");
// Melintasi tombol dan menambahkan kelas 'active' ke tombol yang saat ini/diklik
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";
  });
}

Coba sendiri

Jika elemen tombol belum menetapkan kelas 'active' awalnya, gunakan kode berikut:

// Mendapatkan elemen kontainer
var btnContainer = document.getElementById("myDIV");
// Mendapatkan semua tombol dengan class='btn' di dalam kontainer
var btns = btnContainer.getElementsByClassName("btn");
// Melintasi tombol dan menambahkan kelas 'active' ke tombol yang saat ini/diklik
for (var i = 0; i < btns.length; i++) {
  btns[i].addEventListener("click", function() {
    var current = document.getElementsByClassName("active");
    // Jika tidak ada kelas 'active'
    if (current.length > 0) {
      current[0].className = current[0].className.replace(" active", "");
    }
    // Menambahkan kelas 'active' ke tombol yang saat ini/diklik
    this.className += " active";
  });
}

Coba sendiri