原生js实现addclass,removeclass,toggleclasss实例


Posted in Javascript onNovember 24, 2016

jQuery操作class的方式非常强大,但是目前还有一些人不知道如何使用或者由于项目统一性的原因无法使用jquery.

在此写了一个利用原生js来实现对dom元素class的操作方法

1.addClass:为指定的dom元素添加样式
2.removeClass:删除指定dom元素的样式
3.toggleClass:如果存在(不存在),就删除(添加)一个样式
4.hasClass:判断样式是否存在

下面为一toggleClass的测试例子

<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>

以上就是小编为大家带来的原生js实现addclass,removeclass,toggleclasss实例全部内容了,希望大家多多支持三水点靠木~

Javascript 相关文章推荐
打印json对象的内容及JSON.stringify函数应用
Mar 29 Javascript
js浮点数精确计算(加、减、乘、除)
Dec 26 Javascript
IE6-IE9中tbody的innerHTML不能赋值的解决方法
Jun 05 Javascript
Angular 中 select指令用法详解
Sep 29 Javascript
微信小程序 教程之事件
Oct 18 Javascript
import与export在node.js中的使用详解
Sep 28 Javascript
JavaScript数组的5种迭代方法
Sep 29 Javascript
javaScript中&quot;==&quot;和&quot;===&quot;的区别详解
Mar 16 Javascript
vue中使用protobuf的过程记录
Oct 26 Javascript
ES6 fetch函数与后台交互实现
Nov 14 Javascript
借助云开发实现小程序短信验证码的发送
Jan 06 Javascript
Element Collapse 折叠面板的使用方法
Jul 26 Javascript
纯javascript版日历控件
Nov 24 #Javascript
js通过classname来获取元素的方法
Nov 24 #Javascript
jQuery实现checkbox列表的全选、反选功能
Nov 24 #Javascript
jQuery Dialog 打开时自动聚焦的解决方法(两种方法)
Nov 24 #Javascript
概述javascript在Google IE中的调试技巧
Nov 24 #Javascript
基于Bootstrap和jQuery构建前端分页工具实例代码
Nov 23 #Javascript
Bootstrap复选框和单选按钮美化插件(推荐)
Nov 23 #Javascript
You might like
PHP初学者常见问题集合 修正版(21问答)
2010/03/23 PHP
ThinkPHP之getField详解
2014/06/20 PHP
php实现爬取和分析知乎用户数据
2016/01/26 PHP
php实现生成PDF文件的方法示例【基于FPDF类库】
2018/07/21 PHP
php实现微信企业转账功能
2018/10/02 PHP
js 省地市级联选择
2010/02/07 Javascript
Prototype源码浅析 String部分(二)
2012/01/16 Javascript
js获取IP地址的方法小结
2014/07/01 Javascript
jQuery实现数秒后自动提交form的方法
2015/03/05 Javascript
jQuery实现字符串按指定长度加入特定内容的方法
2015/03/11 Javascript
JavaScript获取DOM元素的11种方法总结
2015/04/25 Javascript
关于事件mouseover ,mouseout ,mouseenter,mouseleave的区别
2015/10/12 Javascript
详解JavaScript中常用的函数类型
2015/11/18 Javascript
Javascript实现Array和String互转换的方法
2015/12/21 Javascript
纯js和css完成贪吃蛇小游戏demo
2016/09/01 Javascript
JS实现物体带缓冲的间歇运动效果示例
2016/12/22 Javascript
基于jQuery实现的单行公告活动轮播效果
2017/08/23 jQuery
vue2.0在table中实现全选和反选的示例代码
2017/11/04 Javascript
JS实现区分中英文并统计字符个数的方法示例
2018/06/09 Javascript
JS滚轮控制图片缩放大小和拖动的实例代码
2018/11/20 Javascript
基于js Canvas实现二次贝塞尔曲线
2018/12/25 Javascript
Vue项目中ESlint规范示例代码
2019/07/04 Javascript
vue v-for直接循环数字实例
2019/11/07 Javascript
基于vue+uniapp直播项目实现uni-app仿抖音/陌陌直播室功能
2019/11/12 Javascript
python抓取京东小米8手机配置信息
2018/11/13 Python
Python实现读取txt文件中的数据并绘制出图形操作示例
2019/02/26 Python
python pytest进阶之xunit fixture详解
2019/06/27 Python
python变量命名的7条建议
2019/07/04 Python
Pycharm新建模板默认添加个人信息的实例
2019/07/15 Python
关于Pytorch MaxUnpool2d中size操作方式
2020/01/03 Python
Tensorflow的梯度异步更新示例
2020/01/23 Python
中等生评语大全
2014/05/04 职场文书
房屋授权无偿使用证明
2014/11/29 职场文书
Nginx URL重写rewrite机制原理及使用实例
2021/04/01 Servers
python引入其他文件夹下的py文件具体方法
2021/05/23 Python
Python基本知识点总结
2022/04/07 Python