原生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 相关文章推荐
JS 容错处理代码, 屏蔽错误信息
Mar 09 Javascript
Javascript的并行运算实现代码
Nov 19 Javascript
JS可以控制样式的名称写法一览
Jan 16 Javascript
js实现俄罗斯方块小游戏分享
Jan 31 Javascript
Jquery实现textarea根据文本内容自适应高度
Apr 03 Javascript
jQuery+css实现炫目的动态块漂移效果
Jan 28 Javascript
用jquery获取select标签中选中的option值及文本的示例
Jan 25 jQuery
Ionic学习日记实现验证码倒计时
Feb 08 Javascript
详解如何webpack使用DllPlugin
Sep 30 Javascript
vue实现添加与删除图书功能
Oct 07 Javascript
JS常见错误(Error)及处理方案详解
Jul 02 Javascript
javascript实现放大镜功能
Dec 09 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分页时出现的Fatal error的解决方法
2011/04/18 PHP
Thinkphp实现MySQL读写分离操作示例
2014/06/25 PHP
PHP中的use关键字概述
2014/07/23 PHP
在win7中搭建Linux+PHP 开发环境
2014/10/08 PHP
PHP生成随机密码4种方法及性能对比
2020/12/11 PHP
基于jquery的无缝循环新闻列表插件
2011/03/07 Javascript
jQuery UI Autocomplete 体验分享
2012/02/14 Javascript
EasyUI闪屏EasyUI页面加载提示(原理+代码+效果图)
2016/02/21 Javascript
如何利用JSHint减少JavaScript的错误
2016/08/23 Javascript
js图片切换具体实现代码
2016/10/13 Javascript
浅谈Angularjs link和compile的使用区别
2016/10/21 Javascript
JS中作用域和变量提升(hoisting)的深入理解
2016/10/31 Javascript
微信小程序 wx.request(接口调用方式)详解及实例
2016/11/23 Javascript
vue 里面使用axios 和封装的示例代码
2017/09/01 Javascript
js对象实例详解(JavaScript对象深度剖析,深度理解js对象)
2017/09/21 Javascript
Vue项目中使用better-scroll实现一个轮播图自动播放功能
2018/12/03 Javascript
VuePress 快速踩坑小结
2019/02/14 Javascript
使用异步组件优化Vue应用程序的性能
2019/04/28 Javascript
[01:11:27]2018DOTA2亚洲邀请赛小组赛 A组加赛 Newbee vs Optic
2018/04/03 DOTA
Python中使用语句导入模块或包的机制研究
2015/03/30 Python
简单谈谈python的反射机制
2016/06/28 Python
Python3 文章标题关键字提取的例子
2019/08/26 Python
python反转列表的三种方式解析
2019/11/08 Python
python游戏开发的五个案例分享
2020/03/09 Python
Pycharm调试程序技巧小结
2020/08/08 Python
css3 仿写阿里云水纹效果的示例代码
2018/02/10 HTML / CSS
HTML5的革新 结构之美
2011/06/20 HTML / CSS
canvas使用注意点总结
2013/07/19 HTML / CSS
amaze ui 的使用详细教程
2020/08/19 HTML / CSS
2014春晚主持词
2014/03/25 职场文书
《老山界》教学反思
2014/04/08 职场文书
铁路安全事故反思
2014/04/26 职场文书
测控技术自荐信
2014/06/05 职场文书
党政领导班子四风问题对照检查材料思想汇报
2014/10/02 职场文书
Go语言应该什么情况使用指针
2021/07/25 Golang
古见同学有交流障碍症 第二季宣传CM公开播出
2022/04/11 日漫