原生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和DOM Interfaces来处理HTML
Oct 09 Javascript
php gethostbyname获取域名ip地址函数详解
Jan 24 Javascript
JS实现获取剪贴板内容的方法
Jun 21 Javascript
js图片切换具体实现代码
Oct 13 Javascript
如何使用bootstrap框架 bootstrap入门必看!
Apr 13 Javascript
vuejs使用递归组件实现树形目录的方法
Sep 30 Javascript
浅谈ajax在jquery中的请求和servlet中的响应
Jan 22 jQuery
JS实现图片上传多次上传同一张不生效的处理方法
Aug 06 Javascript
解决vue-cli项目webpack打包后iconfont文件路径的问题
Sep 01 Javascript
详解auto-vue-file:一个自动创建vue组件的包
Apr 26 Javascript
详解在vue-cli3.0中自定css、js和图片的打包路径
Aug 26 Javascript
JS数组方法reverse()用法实例分析
Jan 18 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
ThinkPHP结合AjaxFileUploader实现无刷新文件上传的方法
2014/10/29 PHP
PHP简单获取随机数的常用方法小结
2017/06/07 PHP
z-blog SyntaxHighlighter 长代码无法换行解决办法(jquery)
2014/11/16 Javascript
基于jQuery实现的文字按钮表单特效整理
2014/12/07 Javascript
Bootstrap每天必学之按钮(一)
2015/11/24 Javascript
angular源码学习第一篇 setupModuleLoader方法
2016/10/20 Javascript
JavaScript中全选、全不选、反选、无刷新删除、批量删除、即点即改入库(在yii框架中操作)的代码分享
2016/11/01 Javascript
详解angularJs中自定义directive的数据交互
2017/01/13 Javascript
jquery仿京东侧边栏导航效果
2017/03/02 Javascript
微信小程序中做用户登录与登录态维护的实现详解
2017/05/17 Javascript
深入理解Vue 的钩子函数
2018/09/05 Javascript
原生js检测页面加载完毕的实例
2018/09/11 Javascript
js基础之事件捕获与冒泡原理
2019/10/09 Javascript
基于better-scroll 实现歌词联动功能的代码
2020/05/07 Javascript
[00:44]2016完美“圣”典 风云人物:Mikasa宣传片
2016/12/07 DOTA
Python 时间处理datetime实例
2008/09/06 Python
用Python制作简单的朴素基数估计器的教程
2015/04/01 Python
python实现日常记账本小程序
2018/03/10 Python
如何使用VSCode愉快的写Python于调试配置步骤
2018/04/06 Python
利用python Selenium实现自动登陆京东签到领金币功能
2019/10/31 Python
关于Numpy中的行向量和列向量详解
2019/11/30 Python
Python partial函数原理及用法解析
2019/12/11 Python
python获取天气接口给指定微信好友发天气预报
2020/12/28 Python
HTML5实现的图片无限加载的瀑布流效果另带边框圆角阴影
2014/03/07 HTML / CSS
澳大利亚最大的在线美发和美容零售商之一:My Hair Care & Beauty
2019/08/24 全球购物
什么叫应用程序域?什么是受管制的代码?什么是强类型系统?什么是装箱和拆箱?
2016/08/13 面试题
什么是跨站脚本攻击
2014/12/11 面试题
工厂会计员职责
2014/02/06 职场文书
事业单位分类改革实施方案
2014/03/21 职场文书
幼儿园大班教师个人工作总结
2015/02/05 职场文书
慰问信范文
2015/02/14 职场文书
校园广播稿范文
2015/08/19 职场文书
2016年“12.4”法制宣传日活动总结
2016/04/01 职场文书
python3实现常见的排序算法(示例代码)
2021/07/04 Python
python可视化之颜色映射详解
2021/09/15 Python
DQL数据查询语句使用示例
2022/12/24 MySQL