原生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 函数链之演变
Apr 07 Javascript
js判断游览器类型及版本号的代码
May 11 Javascript
常用javascript表单验证汇总
Jul 20 Javascript
jQuery自动完成插件completer附源码下载
Jan 04 Javascript
JavaScript设计模式开发中组合模式的使用教程
May 18 Javascript
jQuery限制图片大小的方法
May 25 Javascript
jQuery给指定的table动态添加删除行的操作方法
Oct 12 Javascript
详解基于 Nuxt 的 Vue.js 服务端渲染实践
Oct 24 Javascript
判断div滑动到底部的scroll实例代码
Nov 15 Javascript
Node.JS段点续传:Nginx配置文件分段下载功能的实现方法
Mar 12 Javascript
VueQuillEditor富文本上传图片(非base64)
Jun 03 Javascript
分享一个vue实现的记事本功能案例
Apr 11 Vue.js
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实现保存submit内容之后禁止刷新
2014/03/19 PHP
PHP图片处理之使用imagecopyresampled函数裁剪图片例子
2014/11/19 PHP
用HTML/JS/PHP方式实现页面延时跳转的简单实例
2016/07/18 PHP
Laravel多用户认证系统示例详解
2018/03/13 PHP
Mac下快速搭建PHP开发环境步骤详解
2019/05/05 PHP
解决Laravel blade模板转义html标签的问题
2019/09/03 PHP
php中array_fill函数的实例用法
2021/03/02 PHP
TopList标签和JavaScript结合两例
2007/08/12 Javascript
jQuery html()等方法介绍
2009/11/18 Javascript
Web开发者必备的12款超赞jQuery插件
2010/12/03 Javascript
js验证模型自我实现的具体方法
2013/06/21 Javascript
js的参数有长度限制吗?发现不能超过2083个字符
2014/04/20 Javascript
node.js中的buffer.length方法使用说明
2014/12/14 Javascript
jQuery链使用指南
2015/01/20 Javascript
jQuery实现下滑菜单导航效果代码
2015/08/25 Javascript
JS实现的仿东京商城菜单、仿Win右键菜单及仿淘宝TAB特效合集
2015/09/28 Javascript
Backbone.js框架中Model与Collection的使用实例
2016/05/07 Javascript
easyui-combobox 实现简单的自动补全功能示例
2016/11/08 Javascript
js实现日历的简单算法
2017/01/24 Javascript
bootstrap栅格系统示例代码分享
2017/05/22 Javascript
js链表操作(实例讲解)
2017/08/29 Javascript
JS实现transform实现扇子效果
2020/01/17 Javascript
Vue实现多页签组件
2021/01/14 Vue.js
[45:34]完美世界DOTA2联赛PWL S3 Rebirth vs CPG 第一场 12.18
2020/12/19 DOTA
跟老齐学Python之字典,你还记得吗?
2014/09/20 Python
Python使用Redis实现作业调度系统(超简单)
2016/03/22 Python
python pandas dataframe 行列选择,切片操作方法
2018/04/10 Python
python读取文本绘制动态速度曲线
2018/06/21 Python
python使用Matplotlib画条形图
2020/03/25 Python
利用python提取wav文件的mfcc方法
2019/01/09 Python
Python正则表达式匹配数字和小数的方法
2019/07/03 Python
如何通过命令行进入python
2020/07/06 Python
Python 按比例获取样本数据或执行任务的实现代码
2020/12/03 Python
美国卡车、吉普车和SUV零件网站:4 Wheel Parts
2016/11/24 全球购物
MySQL创建管理KEY分区
2022/04/13 MySQL
Mysql 如何合理地统计一个数据库里的所有表的数据量
2022/04/18 MySQL