原生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 相关文章推荐
转自Jquery官方 jQuery1.1.3发布,速度提升800%,体积保持20K
Aug 19 Javascript
jquery中防刷IP流量软件影响统计的一点对策
Jul 10 Javascript
JQuery中关于jquery.js与jquery.min.js的比较探讨
May 15 Javascript
将文本输入框内容加入表中的js代码
Aug 18 Javascript
浅析document.ready和window.onload的区别讲解
Dec 18 Javascript
jQuery插件Elastislide实现响应式的焦点图无缝滚动切换特效
Apr 12 Javascript
Bootstrap Table服务器分页与在线编辑应用总结
Aug 08 Javascript
Vue实现选择城市功能
May 27 Javascript
[js高手之路]单例模式实现模态框的示例
Sep 01 Javascript
vue-cli和v-charts实现可视化图表过程解析
Oct 08 Javascript
vue vantUI tab切换时 list组件不触发load事件的问题及解决方法
Feb 14 Javascript
jquery实现简单每周轮换的日历
Sep 10 jQuery
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
神族 Protoss 剧情介绍
2020/03/14 星际争霸
在IIS上安装PHP4.0正式版
2006/10/09 PHP
对淘宝URL中ID提取的PHP代码
2013/09/01 PHP
ThinkPHP的L方法使用简介
2014/06/18 PHP
ThinkPHP分组下自定义标签库实例
2014/11/01 PHP
ThinkPHP中处理表单中的注意事项
2014/11/22 PHP
php之可变变量的实例详解
2017/09/12 PHP
不用AJAX和IFRAME,说说真正意义上的ASP+JS无刷新技术
2008/09/25 Javascript
JavaScript打字小游戏代码
2011/12/26 Javascript
Javascript中匿名函数的多种调用方式总结
2013/12/06 Javascript
分享几种比较简单实用的JavaScript tabel切换
2015/12/31 Javascript
理解javascript中的严格模式
2016/02/01 Javascript
详解vue移动端日期选择组件
2018/02/22 Javascript
vue form check 表单验证的实现代码
2018/12/09 Javascript
JS/HTML5游戏常用算法之碰撞检测 包围盒检测算法详解【圆形情况】
2018/12/13 Javascript
react-native滑动吸顶效果的实现过程
2019/06/03 Javascript
弱类型语言javascript中 a,b 的运算实例小结
2019/08/07 Javascript
vue循环数组改变点击文字的颜色
2019/10/14 Javascript
[00:29]2019完美世界全国高校联赛(秋季赛)总决赛海口落幕
2019/12/10 DOTA
python实现绘制树枝简单示例
2014/07/24 Python
pycharm访问mysql数据库的方法步骤
2019/06/18 Python
python 协程中的迭代器,生成器原理及应用实例详解
2019/10/28 Python
linux mint中搜狗输入法导致pycharm卡死的问题
2020/10/28 Python
Python基于mediainfo批量重命名图片文件
2020/12/29 Python
input file上传文件样式支持html5的浏览器解决方案
2012/11/14 HTML / CSS
移动端html5模拟长按事件的实现方法
2018/09/30 HTML / CSS
全球领先的各类汽车配件零售商:Advance Auto Parts
2016/08/26 全球购物
全球领先的中国制造商品在线批发平台:DHgate
2020/01/28 全球购物
Envie de Fraise意大利:法国网上推出的孕妇装品牌
2020/10/18 全球购物
大学生创业计划书的范文
2014/01/07 职场文书
党的群众路线教育实践活动批评与自我批评
2014/02/16 职场文书
优秀少先队工作者事迹材料
2014/05/13 职场文书
2014年仓库管理工作总结
2014/12/17 职场文书
穆斯林的葬礼读书笔记
2015/06/26 职场文书
2019销售早会主持词
2019/06/27 职场文书
浅谈MySql整型索引和字符串索引失效或隐式转换问题
2021/11/20 MySQL