原生JavaScript来实现对dom元素class的操作方法(推荐)


Posted in Javascript onAugust 16, 2017

jQuery操作class的方式非常强大

写了一个利用原生js来实现对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>

以上就是小编为大家整理的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家继续支持三水点靠木~~

Javascript 相关文章推荐
javascript中this做事件参数相关问题解答
Mar 17 Javascript
用innerhtml提高页面打开速度的方法
Aug 02 Javascript
JQuery获取与设置HTML元素的内容或文本的实现代码
Jun 20 Javascript
alert出数组中的随即值代码
Sep 25 Javascript
jQuery中hover方法和toggle方法使用指南
Feb 27 Javascript
js实现三张图(文)片一起切换的banner焦点图
Aug 25 Javascript
js滑动提示效果代码分享
Mar 10 Javascript
JS判断iframe是否加载完成的方法
Aug 03 Javascript
基于jQuery实现表格的排序
Dec 02 Javascript
JavaScript实现自定义媒体播放器方法介绍
Jan 03 Javascript
JavaScript实现二维坐标点排序效果
Jul 18 Javascript
Vue-router的使用和出现空白页,路由对象属性详解
Sep 03 Javascript
React Native 集成jpush-react-native的示例代码
Aug 16 #Javascript
jQuery实现全选、反选和不选功能
Aug 16 #jQuery
微信小程序注册60s倒计时功能 使用JS实现注册60s倒计时功能
Aug 16 #Javascript
微信小程序删除处理详解
Aug 16 #Javascript
微信小程序实现倒计时60s获取验证码
Apr 17 #Javascript
微信小程序实现根据字母选择城市功能
Aug 16 #Javascript
前端跨域的几种解决方式总结(推荐)
Aug 16 #Javascript
You might like
php操作csv文件代码实例汇总
2014/09/22 PHP
PHP冒泡算法详解(递归实现)
2014/11/10 PHP
关于laravel-admin ueditor 集成并解决刷新的问题
2019/10/21 PHP
JavaScript中去掉数组中的重复值的实现方法
2011/08/03 Javascript
javascript从image转换为base64位编码的String
2014/07/29 Javascript
js实现透明度渐变效果的方法
2015/04/10 Javascript
常用的JQuery函数及功能小结
2016/03/24 Javascript
javascript用正则表达式过滤空格的实现代码
2016/06/14 Javascript
pc加载更多功能和移动端下拉刷新加载数据
2016/11/07 Javascript
jQuery表单元素选择器代码实例
2017/02/06 Javascript
javascript 删除数组元素和清空数组的简单方法
2017/02/24 Javascript
关于vue.js组件数据流的问题
2017/07/26 Javascript
详解使用nvm管理多版本node的方法
2017/08/30 Javascript
vue 注册组件的使用详解
2018/05/05 Javascript
vue-router动态设置页面title的实例讲解
2018/08/30 Javascript
微信小程序实现滚动加载更多的代码
2019/12/06 Javascript
基于js实现的图片拖拽排序源码实例
2020/11/04 Javascript
ESLint 是如何检查 .vue 文件的
2020/11/30 Vue.js
原生JS实现音乐播放器的示例代码
2021/02/25 Javascript
Python实现的朴素贝叶斯分类器示例
2018/01/06 Python
Python使用pip安装报错:is not a supported wheel on this platform的解决方法
2018/01/23 Python
python机器学习之贝叶斯分类
2018/03/26 Python
Python3随机漫步生成数据并绘制
2018/08/27 Python
python 字符串只保留汉字的方法
2018/11/16 Python
在python中求分布函数相关的包实例
2020/04/15 Python
python获取百度热榜链接的实例方法
2020/08/25 Python
亚马逊中国官方网站:amazon.cn
2017/05/25 全球购物
高中毕业自我鉴定
2013/12/13 职场文书
财务简历的自我评价
2014/03/05 职场文书
库房管理员岗位职责
2014/03/09 职场文书
安全生产目标责任书
2014/04/14 职场文书
结对共建协议书
2014/08/20 职场文书
企业法人授权委托书
2014/09/25 职场文书
安全生产协议书
2016/03/22 职场文书
Mysql Online DDL的使用详解
2021/05/20 MySQL
mysql全面解析json/数组
2022/07/07 MySQL