原生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 相关文章推荐
IE浏览器打印的页眉页脚设置解决方法
Dec 08 Javascript
Js组件的一些写法
Sep 10 Javascript
仅Firefox中链接A无法实现模拟点击以触发其默认行为
Jul 31 Javascript
阻止子元素继承父元素事件具体思路及实现
May 02 Javascript
javascript判断是否按回车键并解决浏览器之间的差异
May 13 Javascript
详细分析JavaScript变量类型
Jul 08 Javascript
浅谈js数据类型判断与数组判断
Aug 29 Javascript
js判断iframe中元素是否存在的实现代码
Dec 24 Javascript
vue.js将时间戳转化为日期格式的实现代码
Jun 05 Javascript
浅谈Fetch 数据交互方式
Dec 20 Javascript
JavaScript查看代码运行效率console.time()与console.timeEnd()用法
Jan 18 Javascript
js实现文字头像的生成代码
Mar 07 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
全国FM电台频率大全 - 18 湖南省
2020/03/11 无线电
php判断字符以及字符串的包含方法属性
2008/08/30 PHP
php轻松实现文件上传功能
2016/03/03 PHP
利用PHP获取汉字首字母并且分组排序详解
2017/10/22 PHP
ThinkPHP中图片按比例切割的代码实例
2019/03/08 PHP
Js 订制自己的AlertBox(信息提示框)
2009/01/09 Javascript
COM中获取JavaScript数组大小的代码
2009/11/22 Javascript
js动态控制table的tr、td增加及删除的具体实现
2014/04/30 Javascript
使用jquery 简单实现下拉菜单
2015/01/14 Javascript
JavaScript中的pow()方法使用详解
2015/06/15 Javascript
JavaScript实现给按钮加上双重动作的方法
2015/08/14 Javascript
网页从弹窗页面单选框传值至父页面代码分享
2015/09/29 Javascript
BootStrap Table复选框默认选中功能的实现代码(从数据库获取到对应的状态进行判断是否为选中状态)
2017/07/11 Javascript
基于JavaScript实现无缝滚动效果
2017/07/21 Javascript
jQuery 改变P标签文本值方法
2018/02/24 jQuery
jQuery 导航自动跟随滚动的实现代码
2018/05/30 jQuery
vue 纯js监听滚动条到底部的实例讲解
2018/09/03 Javascript
详解mpvue小程序中怎么引入iconfont字体图标
2018/10/01 Javascript
解决element ui select下拉框不回显数据问题的解决
2019/02/20 Javascript
JS实现简单的文字无缝上下滚动功能示例
2019/06/22 Javascript
卸载vue2.0并升级vue_cli3.0的实例讲解
2020/02/16 Javascript
Javascript生成器(Generator)的介绍与使用
2021/01/31 Javascript
[01:14]英雄,所敬略同——2018完美盛典宣传视频4K
2018/12/05 DOTA
Python编程实现数学运算求一元二次方程的实根算法示例
2017/04/02 Python
详解Python中最难理解的点-装饰器
2017/04/03 Python
python 数据的清理行为实例详解
2017/07/12 Python
Python基于回溯法子集树模板实现图的遍历功能示例
2017/09/05 Python
python在每个字符后添加空格的实例
2018/05/07 Python
什么是python的函数体
2020/06/19 Python
Python colormap库的安装和使用详情
2020/10/06 Python
Python常用断言函数实例汇总
2020/11/30 Python
Python 用__new__方法实现单例的操作
2020/12/11 Python
廉价连衣裙和婚纱礼服在线销售:Tbdress
2019/02/28 全球购物
巴西最大的运动品牌:Olympikus
2020/07/14 全球购物
西安启天科技有限公司网络工程师面试题笔试题
2016/06/12 面试题
中学家长会邀请函
2014/01/17 职场文书