如何給當前元素添加 active 類
學習如何使用 JavaScript 給當前元素添加 active 類。
高亮顯示活動/當前(已按下)的按鈕:
活動元素
第一步 - 添加 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"); // 獲取容器內所有 class="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"; }); }
如果 button 元素一開始沒有設置 active 類,請使用以下代碼:
// 獲取容器元素 var btnContainer = document.getElementById("myDIV"); // 獲取容器內所有 class="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"; }); }