原生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对ajax的支持介绍
Dec 10 Javascript
html的DOM中document对象images集合用法实例
Jan 21 Javascript
解析javascript瀑布流原理实现图片滚动加载
Mar 10 Javascript
深入理解JQuery循环绑定事件
Jun 02 Javascript
JavaScript数据类型学习笔记分享
Sep 01 Javascript
利用VUE框架,实现列表分页功能示例代码
Jan 12 Javascript
微信小程序 封装http请求实例详解
Jan 16 Javascript
vuejs绑定class和style样式
Apr 11 Javascript
Vue实现简单分页器
Dec 29 Javascript
vue组件数据传递、父子组件数据获取,slot,router路由功能示例
Mar 19 Javascript
Javascript地址引用代码实例解析
Feb 25 Javascript
vue实现多个echarts根据屏幕大小变化而变化实例
Jul 19 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中文乱码
2009/11/26 PHP
用C/C++扩展你的PHP 为你的php增加功能
2012/09/06 PHP
php用正则表达式匹配中文实例详解
2013/11/06 PHP
jquery+php实现导出datatables插件数据到excel的方法
2015/07/06 PHP
PHP unset函数原理及使用方法解析
2020/08/14 PHP
js中的referrer返回上一页使用介绍
2013/09/26 Javascript
JavaScript设计模式之装饰者模式介绍
2014/12/28 Javascript
js改变embed标签src值的方法
2015/04/10 Javascript
jquery实现的缩略图预览滑块实例
2015/06/25 Javascript
jQuery实现三级菜单的代码
2016/05/09 Javascript
JavaScript高仿支付宝倒计时页面及代码实现
2016/10/21 Javascript
vue2.0的contextmenu右键弹出菜单的实例代码
2017/07/24 Javascript
帝国cms首页列表页实现点赞功能
2017/10/30 Javascript
JS实现键值对遍历json数组功能示例
2018/05/30 Javascript
vscode中vue-cli项目es-lint的配置方法
2018/07/30 Javascript
vue侧边栏动态生成下级菜单的方法
2018/09/07 Javascript
JS前端知识点总结之内置对象,日期对象和定时器相关操作
2019/07/05 Javascript
原生JavaScript之es6中Class的用法分析
2020/02/23 Javascript
vue+canvas实现移动端手写签名
2020/05/21 Javascript
python通过zlib实现压缩与解压字符串的方法
2014/11/19 Python
Python中selenium实现文件上传所有方法整理总结
2017/04/01 Python
python2.7 json 转换日期的处理的示例
2018/03/07 Python
pandas 获取季度,月度,年度首尾日期的方法
2018/04/11 Python
Python字符串匹配之6种方法的使用详解
2019/04/08 Python
centos7中安装python3.6.4的教程
2019/12/11 Python
python 实现人和电脑猜拳的示例代码
2020/03/02 Python
django-xadmin根据当前登录用户动态设置表单字段默认值方式
2020/03/13 Python
完美解决pycharm 不显示代码提示问题
2020/06/02 Python
英国厨房与餐具用品为主的设计品牌:Joseph Joseph
2018/04/26 全球购物
德国婴儿服装和婴儿用品购买网站:Baby Sweets
2019/12/08 全球购物
大专应届毕业生求职信
2014/07/15 职场文书
高中校园广播稿3篇
2014/09/29 职场文书
大国崛起英国观后感
2015/06/02 职场文书
入团介绍人意见范文
2015/06/04 职场文书
Python实现的扫码工具居然这么好用!
2021/06/07 Python
java高级用法JNA强大的Memory和Pointer
2022/04/19 Java/Android