原生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 相关文章推荐
JavaScript 解析读取XML文档 实例代码
Jul 07 Javascript
用jQuery模拟页面加载进度条的实现代码
Dec 19 Javascript
jquery自定义属性(类型/属性值)
May 21 Javascript
javascript检查浏览器是否支持flash的实现代码
Aug 14 Javascript
Javascript中For In语句用法实例
May 14 Javascript
vue2.0 + ele的循环表单及验证字段方法
Sep 18 Javascript
VUE 配置vue-devtools调试工具及安装方法
Sep 30 Javascript
深入浅析ng-bootstrap 组件集中 tabset 组件的实现分析
Jul 19 Javascript
解决layer.msg 不居中 ifram中的问题
Sep 05 Javascript
vue  elementUI 表单嵌套验证的实例代码
Nov 06 Javascript
Js逆向实现滑动验证码图片还原的示例代码
Mar 10 Javascript
原生js实现html手机端城市列表索引选择城市
Jun 24 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多个文件及图片上传实例详解
2014/11/10 PHP
分享一个Laravel好用的Cache宏
2015/03/02 PHP
PHP读取mssql json数据中文乱码的解决办法
2016/04/11 PHP
PHP 实现人民币小写转换成大写的方法及大小写转换函数
2017/11/17 PHP
TP5框架实现签到功能的方法分析
2020/04/05 PHP
JavaScript中的Window窗口对象
2008/01/16 Javascript
小型js框架veryide.librar源代码
2009/03/05 Javascript
实例解析jQuery中proxy()函数的用法
2016/05/24 Javascript
前端微信支付js代码
2016/07/25 Javascript
jQuery Password Validation密码验证
2016/12/30 Javascript
vue编译打包本地查看index文件的方法
2018/02/23 Javascript
Redux实现组合计数器的示例代码
2018/07/04 Javascript
基于JavaScript实现瀑布流布局
2018/08/15 Javascript
微信小程序实现顶部导航特效
2019/01/28 Javascript
js实现的格式化数字和金额功能简单示例
2019/07/30 Javascript
微信小程序拼接图片链接无底洞深入探究
2019/09/03 Javascript
vue实现权限控制路由(vue-router 动态添加路由)
2019/11/04 Javascript
微信小程序getLocation 需要在app.json中声明permission字段
2020/03/03 Javascript
javascript实现前端分页效果
2020/06/24 Javascript
Python3通过Luhn算法快速验证信用卡卡号的方法
2015/05/14 Python
pycharm远程调试openstack代码
2017/11/21 Python
Python 函数基础知识汇总
2018/03/09 Python
python list是否包含另一个list所有元素的实例
2018/05/04 Python
numpy中矩阵合并的实例
2018/06/15 Python
对numpy Array [: ,] 的取值方法详解
2018/07/02 Python
DES加密解密算法之python实现版(图文并茂)
2018/12/06 Python
简单了解Django应用app及分布式路由
2019/07/24 Python
python设置代理和添加镜像源的方法
2020/02/14 Python
Python非单向递归函数如何返回全部结果
2020/12/18 Python
英国领先的在线旅游和休闲零售商:lastminute.com
2019/01/23 全球购物
县长群众路线对照检查材料思想汇报
2014/10/02 职场文书
党员违纪检讨书怎么写
2014/11/01 职场文书
酒店办公室主任岗位职责
2015/04/01 职场文书
幼儿园小班教育随笔
2015/08/14 职场文书
2016年中秋节晚会领导致辞
2015/11/26 职场文书
html+css实现分层金字塔的实例
2021/06/02 HTML / CSS