原生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 相关文章推荐
学习YUI.Ext第五日--做拖放Darg&amp;Drop
Mar 10 Javascript
JavaScript 数组循环引起的思考
Jan 01 Javascript
热点新闻滚动特效的js代码
Aug 17 Javascript
jQuery对JSON数据进行排序输出的方法
Jun 24 Javascript
轻松实现JavaScript图片切换
Jan 12 Javascript
基于JavaScript实现焦点图轮播效果
Mar 27 Javascript
js控制文本框禁止输入特殊字符详解
Apr 07 Javascript
js 索引下标之li集合绑定点击事件
Jan 12 Javascript
vue-cli项目代理proxyTable配置exclude的方法
Sep 20 Javascript
JS实现简单的抽奖转盘效果示例
Feb 16 Javascript
vue-router 路由传参用法实例分析
Mar 06 Javascript
js实现滚动条自动滚动
Dec 13 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设计模式 注册表模式(多个类的注册)
2012/02/05 PHP
php采用curl模仿登录人人网发布动态的方法
2014/11/07 PHP
php简单获取复选框值的方法
2016/05/11 PHP
php使用pdo连接sqlite3的配置示例
2016/05/27 PHP
php实现的错误处理封装类实例
2017/06/20 PHP
ThinkPHP框架中使用Memcached缓存数据的方法
2018/03/31 PHP
Laravel框架定时任务2种实现方式示例
2018/12/08 PHP
直接生成打开窗口代码,不必下载
2008/05/14 Javascript
关于scrollLeft,scrollTop的浏览器兼容性测试
2013/03/19 Javascript
js前端实现多图图片上传预览的两个方法(推荐)
2016/11/18 Javascript
JavaScript用构造函数如何获取变量的类型名
2016/12/23 Javascript
详解Angular2 之 结构型指令
2017/06/21 Javascript
利用node.js如何创建子进程详解
2017/12/09 Javascript
vue实现验证码输入框组件
2017/12/14 Javascript
Bootstrap实现的表格合并单元格示例
2018/02/06 Javascript
js逆向解密之网络爬虫
2019/05/30 Javascript
Vue.js实现大转盘抽奖总结及实现思路
2019/10/09 Javascript
解决vue-cli 打包后自定义动画未执行的问题
2019/11/12 Javascript
在vue中使用Base64转码的案例
2020/08/07 Javascript
jQuery中getJSON跨域原理的深入讲解
2020/09/02 jQuery
ant design vue嵌套表格及表格内部编辑的用法说明
2020/10/28 Javascript
[03:38]2014DOTA2西雅图国际邀请赛 VG战队巡礼
2014/07/07 DOTA
使用Python的Flask框架实现视频的流媒体传输
2015/03/31 Python
python实现图片变亮或者变暗的方法
2015/06/01 Python
Python用Pillow(PIL)进行简单的图像操作方法
2017/07/07 Python
浅析Python装饰器以及装饰器模式
2018/05/28 Python
python使用time、datetime返回工作日列表实例代码
2019/05/09 Python
Python列表对象实现原理详解
2019/07/01 Python
Django关于admin的使用技巧和知识点
2020/02/10 Python
劳力士官方珠宝商:J.R. Dunn Jewelers
2018/09/29 全球购物
法人代表授权委托书
2014/04/08 职场文书
大学优秀班集体申报材料
2014/05/23 职场文书
领导干部群众路线个人对照检查材料思想汇报
2014/09/30 职场文书
公安派出所所长四风问题个人对照检查材料
2014/10/04 职场文书
php微信小程序解包过程实例详解
2021/03/31 PHP
在redisCluster中模糊获取key方式
2021/07/09 Redis