Di bawah ini kita akan mempelajari cara menambahkan kelas aktif ke elemen saat ini dengan JavaScript.
<!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width, initial-scale=1"> <style> /* Style untuk buttons */ .btn { border: none; outline: none; padding: 10px 16px; background-color: #f1f1f1; cursor: pointer; font-size: 18px; } /* Style untuk active class dan tombol di atas mouse */ .active, .btn:hover { background-color: #666; color: white; } </style> </head> <body> <h1>Active Button</h1> <p>Sorot tombol aktif / arus (ditekan).</p> <div id="myDIV"> <button class="btn">1</button> <button class="btn">2</button> <button class="btn active">3</button> <button class="btn">4</button> <button class="btn">5</button> </div> <script> // Tambahkan kelas aktif ke tombol saat ini (sorot) var header = document.getElementById("myDIV"); var btns = header.getElementsByClassName("btn"); 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"; }); } </script> </body> </html>
Active Class
Langkah 1) Tambahkan HTML:
Contoh
<div id="myDIV"> <button class="btn">1</button> <button class="btn">2</button> <button class="btn active">3</button> <button class="btn">4</button> <button class="btn">5</button> </div>
Langkah 2) Tambahkan CSS:
Contoh
/* Style untuk buttons */ .btn { border: none; outline: none; padding: 10px 16px; background-color: #f1f1f1; cursor: pointer; font-size: 18px; } /* Gaya kelas aktif, dan tombol di atas mouse */ .active, .btn:hover { background-color: #666; color: white; }
Langkah 3) Tambahkan JavaScript:
Contoh
// Dapatkan container elemen var btnContainer = document.getElementById("myDIV"); // Dapatkan semua tombol dengan class = btn" di dalam container var btns = btnContainer.getElementsByClassName("btn"); // Ulangi tombol dan tambahkan kelas aktif ke tombol saat ini yang 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"; }); }
Jika tidak memiliki kelas aktif yang disetel pada elemen tombol untuk memulai, gunakan kode berikut:
Contoh
// Dapatkan container elemen var btnContainer = document.getElementById("myDIV"); // Dapatkan semua tombol dengan class = btn" di dalam container var btns = btnContainer.getElementsByClassName("btn"); // Ulangi tombol dan tambahkan kelas aktif ke tombol saat ini yang diklik for (var i = 0; i < btns.length; i++) { btns[i].addEventListener("click", function() { var current = document.getElementsByClassName("active"); // jika tidak ada active class if (current.length > 0) { current[0].className = current[0].className.replace(" active", ""); } // Tambahkan active class ke current button clicked this.className += " active"; }); }
Maka kan jadi seperti ini :
<!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width, initial-scale=1"> <style> /* Style untuk buttons */ .btn { border: none; outline: none; padding: 10px 16px; background-color: #f1f1f1; cursor: pointer; font-size: 18px; } /* style untuk active class dan tombol di atas mouse */ .active, .btn:hover { background-color: #666; color: white; } </style> </head> <body> <h1>Active Button</h1> <p>Sorot tombol aktif / arus (ditekan).</p> <div id="myDIV"> <button class="btn">1</button> <button class="btn">2</button> <button class="btn">3</button> <button class="btn">4</button> <button class="btn">5</button> </div> <script> // Tambahkan kelas aktif ke tombol saat ini (sorot) var header = document.getElementById("myDIV"); var btns = header.getElementsByClassName("btn"); for (var i = 0; i < btns.length; i++) { btns[i].addEventListener("click", function() { var current = document.getElementsByClassName("active"); if (current.length > 0) { current[0].className = current[0].className.replace(" active", ""); } this.className += " active"; }); } </script> </body> </html>