原生JS操作元素类名的完整指南
本文详细介绍如何使用原生JavaScript通过classList对象对HTML元素进行类名管理。涵盖添加单个或批量类名、移除指定类名以及检测类名是否存在的方法,并提供对应代码示例与在线测试工具链接,帮助开发者高效处理页面样式切换。
原生JS操作元素类名的完整指南
本文通过具体实例,解析在原生JavaScript中为元素添加一个或多个类名的实现方式,供读者参考学习。
在实际编写JavaScript代码时,有时会遇到需要动态修改元素类名的场景,但可能一时不确定具体的实现方法。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title></title>
<style type="text/css" media="screen">
#box {
width: 200px;
height: 200px;
margin: 0 auto;
background: pink;
border-radius: 20px;
}
@keyframes move{
0%{width: 500px; background-color: red;}
10%{width: 100px; background-color: green;},
20%{width: 900px; background-color: yellow;},
50%{width: 300px; background-color: pink;},
80%{width: 550px; background-color: gold;},
100%{width: 200px; background-color: purple;}
}
.movea {
animation: move 1s ;
}
</style>
</head>
<body>
<div id='box'>
</div>
<script type="text/javascript">
document.getElementById('box').onclick = function() {
this.setAttribute("class", "movea");
this.classList.add("movea");
}
</script>
</body>
</html>
接下来介绍如何利用原生JavaScript实现对元素类名的添加与删除操作。
var dom = document.getElementById("idName");
针对单个class的添加操作:
dom.classList.add("className1");
若需同时添加多个类名:
dom.classList.add("className1", "className2", "className3", ....., "classNameN");
关于移除单个类的操作:
dom.classList.remove("className1");
若需一次性移除多个类名:
dom.classList.remove("className1", "className2", "className3", ....., "classNameN");
判断元素是否包含特定类名的方法:
dom.classList.contains('className'); //return true or false
上述方法并非全部,实际开发中还存在其他多种实现路径。
感兴趣的用户可以通过在线HTML/CSS/JavaScript代码运行工具:http://tools.jb51.net/code/HtmlJsRun 对上述代码效果进行测试。
如需了解更多JavaScript相关知识,可参考本站专题:《JavaScript操作DOM技巧总结》、《JavaScript页面元素操作技巧总结》、《JavaScript事件相关操作与技巧大全》、《JavaScript查找算法技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》及《JavaScript错误与调试技巧总结》。
希望本文提供的关于JavaScript程序设计的说明能对大家有所帮助。
js-cookie 安装与基础用法:set、get、remove 详解
2026-11-05 16:35:06
适合JavaScript初学者的实战项目:制作简易待办事项列表
2026-11-05 16:17:07
JS打开新标签页时怎么通过URL传递参数
2026-11-05 12:21:08
sigma.js 自定义节点样式:设置颜色、大小及标签显示的技巧
2026-11-05 09:55:00
JS 生成的统计图怎么导出为 PNG 图片或 PDF 文件?
2026-11-05 09:37:58
