原生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 string 扩展库代码
Apr 09 Javascript
js比较和逻辑运算符的介绍
Mar 10 Javascript
Javascript的表单验证-揭开正则表达式的面纱
Mar 18 Javascript
JS+CSS3模拟溢出滚动效果
Aug 12 Javascript
Vue组件BootPage实现简单的分页功能
Sep 12 Javascript
详解Weex基于Vue2.0开发模板搭建
Mar 20 Javascript
JS中的两种数据类型及实现引用类型的深拷贝的方法
Aug 12 Javascript
js使用formData实现批量上传
Mar 27 Javascript
解决前后端分离 vue+springboot 跨域 session+cookie失效问题
May 13 Javascript
ES6中let、const的区别及变量的解构赋值操作方法实例分析
Oct 15 Javascript
Windows上node.js的多版本管理工具用法实例分析
Nov 06 Javascript
使用vue3重构拼图游戏的实现示例
Jan 25 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的基本常识小结
2013/07/05 PHP
php的一个简单加密解密代码
2014/01/14 PHP
php如何修改SESSION的生存存储时间的实例代码
2017/07/05 PHP
php获取手机端的号码以及ip地址实例代码
2018/09/12 PHP
jquery 插件之仿“卓越亚马逊”首页弹出菜单效果
2008/12/25 Javascript
JQuery从头学起第二讲
2010/07/04 Javascript
JQuery1.6 使用方法三
2011/11/23 Javascript
JS操作Cookies包括(读取添加与删除)
2012/12/26 Javascript
图片无缝滚动代码(向左/向下/向上)
2013/04/10 Javascript
Nodejs异步回调的优雅处理方法
2014/09/25 NodeJs
JavaScript中的普通函数与构造函数比较
2015/04/07 Javascript
JavaScript性能优化之小知识总结
2015/11/20 Javascript
AngularJS 2.0新特性有哪些
2016/02/18 Javascript
JS判断是否长按某一键的方法
2016/03/02 Javascript
JS如何设置iOS中微信浏览器的title
2016/11/22 Javascript
JavaScript实现计数器基础方法
2017/10/10 Javascript
深入理解Vue 单向数据流的原理
2017/11/09 Javascript
js生成word中图片处理方法
2018/01/06 Javascript
element-ui 弹窗组件封装的步骤
2021/01/22 Javascript
[03:04]DOTA2超级联赛专访ZSMJ “莫名其妙”的逆袭
2013/05/23 DOTA
[47:31]完美世界DOTA2联赛PWL S3 INK ICE vs DLG 第一场 12.12
2020/12/16 DOTA
Python 获取新浪微博的最新公共微博实例分享
2014/07/03 Python
python实现的登陆Discuz!论坛通用代码分享
2014/07/11 Python
python类:class创建、数据方法属性及访问控制详解
2016/07/25 Python
Python优化技巧之利用ctypes提高执行速度
2016/09/11 Python
Python实现输入二叉树的先序和中序遍历,再输出后序遍历操作示例
2018/07/27 Python
Python 生成 -1~1 之间的随机数矩阵方法
2018/08/04 Python
django 捕获异常和日志系统过程详解
2019/07/18 Python
使用python实现滑动验证码功能
2019/08/05 Python
python 函数中的参数类型
2020/02/11 Python
Python连接SQLite数据库并进行增册改查操作方法详解
2020/02/18 Python
HTML5的Video标签有部分MP4无法播放的问题解析(多图)
2017/08/18 HTML / CSS
教导处工作制度
2014/01/18 职场文书
出纳员岗位职责风险
2014/03/06 职场文书
政工例会汇报材料
2014/08/26 职场文书
学校标语口号大全
2015/12/26 职场文书