原生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 相关文章推荐
jQuery Ajax之load()方法
Oct 12 Javascript
为JS扩展Array.prototype.indexOf引发的问题探讨及解决
Apr 24 Javascript
简单的jQuery banner图片轮播实例代码
Mar 04 Javascript
javascript实现列表切换效果
May 02 Javascript
巧方法 JavaScript获取超链接的绝对URL地址
Jun 14 Javascript
JavaScript随机打乱数组顺序之随机洗牌算法
Aug 02 Javascript
浅谈jquery的html方法里包含特殊字符的处理
Nov 30 Javascript
easyUI combobox实现联动效果
Jan 17 Javascript
fullCalendar中文API官方文档
Feb 07 Javascript
从对象列表中获取一个对象的方法,依据关键字和值
Sep 20 Javascript
微信小程序mpvue点击按钮获取button值的方法
May 29 Javascript
js实现复制粘贴的两种方法
Dec 04 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
phpMyadmin 用户权限中英对照
2010/04/02 PHP
php设计模式之单例模式使用示例
2014/01/20 PHP
PHP判断浏览器、判断语言代码分享
2015/03/05 PHP
详解phpstorm2020最新破解方法
2020/09/17 PHP
给Javascript数组插入一条记录的代码
2007/08/30 Javascript
jquery 查找新建元素代码
2010/07/06 Javascript
基于jquery的自定义鼠标提示效果 jquery.toolTip
2010/11/14 Javascript
基于jquery DOM写的类似微博发布的效果
2012/10/20 Javascript
Jquery加载时从后台读取数据绑定到dropdownList实例
2013/06/09 Javascript
微信开发 微信授权详解
2016/10/21 Javascript
js控制台输出的方法(详解)
2016/11/26 Javascript
Node.JS中快速扫描端口并发现局域网内的Web服务器地址(80)
2017/09/18 Javascript
JS实现的检验身份证格式并输出出生日期,年龄,性别,出生地示例
2019/05/17 Javascript
通过JQuery,JQueryUI和Jsplumb实现拖拽模块
2019/06/18 jQuery
微信小程序设置滚动条过程详解
2019/07/25 Javascript
Vue2.0实现简单分页及跳转效果
2019/07/29 Javascript
Vue实现base64编码图片间的切换功能
2019/12/04 Javascript
[51:50]完美世界DOTA2联赛 Magma vs GXR 第一场 11.07
2020/11/10 DOTA
详解Python map函数及Python map()函数的用法
2017/11/16 Python
python合并同类型excel表格的方法
2018/04/01 Python
python print输出延时,让其立刻输出的方法
2019/01/07 Python
python实现蒙特卡罗方法教程
2019/01/28 Python
python requests包的request()函数中的参数-params和data的区别介绍
2020/05/05 Python
Keras设置以及获取权重的实现
2020/06/19 Python
在Keras中CNN联合LSTM进行分类实例
2020/06/29 Python
Python中猜拳游戏与猜筛子游戏的实现方法
2020/09/04 Python
Python unittest装饰器实现原理及代码
2020/09/08 Python
python爬虫工具例举说明
2020/11/30 Python
Python 将代码转换为可执行文件脱离python环境运行(步骤详解)
2021/01/25 Python
会计应届生的自荐信
2013/12/13 职场文书
新农村建设标语
2014/06/24 职场文书
党员查摆剖析材料
2014/10/10 职场文书
城南旧事观后感
2015/06/11 职场文书
Spring Boot两种全局配置和两种注解的操作方法
2021/06/29 Java/Android
python编程实现清理微信重复缓存文件
2021/11/01 Python
oracle数据库去除重复数据
2022/05/20 Oracle