如何给当前元素添加 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";
});
}