原生JavaScript实现DOM元素class操作详解

作者:页面旅途时间:2026-10-22 07:12:05浏览:544

本文介绍如何使用原生JavaScript实现DOM元素的class操作,包括addClass、removeClass、toggleClass和hasClass四个核心方法。通过正则表达式匹配类名,提供添加、删除、切换及判断类名存在的功能,并附带完整的测试代码示例,帮助开发者在不依赖jQuery的情况下进行类名管理。

原生JavaScript DOM类名操作方法

jQuery在处理类名方面功能十分强大。

本文编写了一套基于原生JavaScript的DOM元素class操作方法。

主要包含四个功能:1. addClass:为指定的DOM元素添加样式类;2. removeClass:移除指定DOM元素的样式类;3. toggleClass:若样式类存在则删除,不存在则添加;4. hasClass:检测样式类是否存在。

以下提供toggleClass功能的测试示例。


[html] view plain copy
<style type="text/css"> 
 div.testClass{ 
 background-color:gray; 
 } 
</style> 

 <script type="text/javascript"> 
function hasClass(obj, cls) { 
 return obj.className.match(new RegExp('(\\s|^)' + cls + '(\\s|$)')); 
} 
function addClass(obj, cls) { 
 if (!this.hasClass(obj, cls)) obj.className += " " + cls; 
} 
function removeClass(obj, cls) { 
 if (hasClass(obj, cls)) { 
 var reg = new RegExp('(\\s|^)' + cls + '(\\s|$)'); 
 obj.className = obj.className.replace(reg, ' '); 
 } 
} 
function toggleClass(obj,cls){ 
 if(hasClass(obj,cls)){ 
 removeClass(obj, cls); 
 }else{ 
 addClass(obj, cls); 
 } 
} 
function toggleClassTest(){ 
 var obj = document. getElementById('test'); 
 toggleClass(obj,"testClass"); 
} 
</script> 


<body> 
 <div id = "test" style = "width:250px;height:100px;"> 
 sssssssssssss 
 </div> 
 <input type = "button" value = "toggleClassTest" onclick = "toggleClassTest();" /> 
</body> 

以上内容为本文总结,希望这些方法能对您的学习或工作有所帮助,感谢支持。

作者最新文章