本文详解HTML5引入的classList属性,用于简化JavaScript对元素类名的操作。通过DOMTokenList类型的add、remove、contains和toggle方法,可便捷地添加、删除或切换类名,避免手动处理字符串。文章结合栏目切换实例,展示如何高效管理CSS类,提升前端开发效率。
早期JavaScript在处理类名时较为繁琐,需先获取class属性值,再对字符串进行手动处理。
如今html5为所有元素引入了classList属性,使类属性操作变得极为简便。
1、classList属性
首先参考以下代码示例:
<ul class="nav">
<li class="active">栏目1</li>
<li>栏目2</li>
<li>栏目3</li>
</ul>
<script type="text/javascript">
// 获取到当前的li元素
let activeLi = document.querySelector(".active");
// 打印classList属性
console.log(activeLi.classList)
// 控制台输出:
// DOMTokenList ['active', value: 'active']
</script>在控制台查看运行效果:
classList属性的类型说明:

classList属性属于DOMTokenList 类型,可通过add、contains、remove等方法对类属性执行操作。
add(value)用于新增一个类名。contains(value)用于判断是否包含指定类名。remove(value)用于删除指定类名。toggle(value)若类名存在则删除,否则添加该类名。
2、实务应用
在实际应用中,栏目切换是常见场景。以上述例子为基础,点击栏目时将 active 移动到对应的栏目元素上。
<ul class="nav">
<li class="item active">栏目1</li>
<li class="item">栏目2</li>
<li class="item">栏目3</li>
</ul>
<script type="text/javascript">
let currentElement = document.querySelector(".nav").firstElementChild;
// 遍历li元素设置点击事件
while (currentElement) {
currentElement.onclick = function() {
// 移除激活li的active
document.querySelector(".active").classList.remove("active");
// 当前li类增加active
this.classList.add("active");
}
currentElement = currentElement.nextElementSibling;
}
</script>这种实现方式非常便捷,且不会影响其他类名。
至此,关于JavaScript利用html5新方法操作元素类名的详解介绍完毕。更多相关JavaScript利用html5新方法操作元素类名的内容,请搜索本站历史文章或继续浏览下方相关文章。希望大家今后多多支持本站!