Πώς να προσθέσετε την κλάση active στο τρέχον στοιχείο

Μάθετε πώς να χρησιμοποιήσετε το JavaScript για να προσθέσετε την κλάση active στο τρέχον στοιχείο.

Επισημαίνει την ενεργή/τρέχουσα (πατημένη) κουμπί:

Try it yourself

ενεργό στοιχείο

Πρώτο βήμα - Προσθέστε 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>

Δεύτερο βήμα - Προσθέστε CSS:

/* ορίστε τις διατμητικές για το κουμπί */
.btn {
  border: none;
  outline: none;
  padding: 10px 16px;
  background-color: #f1f1f1;
  cursor: pointer;
}
/* ορίστε τις διατμητικές για την κλάση 'active' (και το κουμπί όταν πετάει το ποντίκι) */
.active, .btn:hover {
  background-color: #666;
  color: white;
}

Τρίτο βήμα - Προσθέστε JavaScript:

// αποκτήστε το στοιχείο κουτί
var btnContainer = document.getElementById("myDIV");
// αποκτήστε όλα τα κουμπιά με την κλάση 'btn' μέσα στο κουτί
var btns = btnContainer.getElementsByClassName("btn");
// περιηγηθείτε στα κουμπιά και προσθέστε την κλάση 'active' στον τρέχοντα/επιλεγμένο κουμπί
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

Αν το στοιχείο κουμπιού δεν έχει ήδη 설정τεί την κλάση 'active', χρησιμοποιήστε τον παρακάτω κώδικα:

// αποκτήστε το στοιχείο κουτί
var btnContainer = document.getElementById("myDIV");
// αποκτήστε όλα τα κουμπιά με την κλάση 'btn' μέσα στο κουτί
var btns = btnContainer.getElementsByClassName("btn");
// περιηγηθείτε στα κουμπιά και προσθέστε την κλάση 'active' στον τρέχοντα/επιλεγμένο κουμπί
for (var i = 0; i < btns.length; i++) {
  btns[i].addEventListener("click", function() {
    var current = document.getElementsByClassName("active");
    // αν δεν υπάρχει η κλάση 'active'
    if (current.length > 0) {
      current[0].className = current[0].className.replace(" active", "");
    }
    // προσθέστε την κλάση 'active' στον τρέχοντα/επιλεγμένο κουμπί
    this.className += " active";
  });
}

Try it yourself