原生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 相关文章推荐
用于节点操作的API,颠覆原生操作HTML DOM节点的API
Dec 11 Javascript
IE与FireFox中的childNodes区别
Oct 20 Javascript
JavaScript italics方法入门实例(把字符串显示为斜体)
Oct 17 Javascript
关于延迟加载JavaScript
May 05 Javascript
JS实现两表格里数据来回转移的方法
May 28 Javascript
javascript实现3D切换焦点图
Oct 16 Javascript
原生js实现网易轮播图效果
Apr 10 Javascript
js以分隔符分隔数组中的元素并转换为字符串的方法
Nov 16 Javascript
关于javascript获取内联样式与嵌入式样式的实例
Jun 01 Javascript
判断iOS、Android以及PC端的示例代码
Nov 15 Javascript
微信小程序常用的3种提示弹窗实现详解
Sep 19 Javascript
react使用antd表单赋值,用于修改弹框的操作
Oct 29 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编程最快明白》第三讲:php数组
2010/11/01 PHP
PHP单例模式详细介绍
2015/07/01 PHP
Yii redis集合的基本使用教程
2020/06/14 PHP
PHP中SESSION过期设置
2021/03/09 PHP
Add a Picture to a Microsoft Word Document
2007/06/15 Javascript
fckeditor 获取文本框值的实现代码
2009/02/09 Javascript
在线编辑器中换行与内容自动提取
2009/04/24 Javascript
Javascript学习笔记9 prototype封装继承
2010/01/11 Javascript
JavaScript替换当前页面的方法
2015/04/03 Javascript
Bootstrap框架结合jQuery仿百度换肤功能实例解析
2016/09/17 Javascript
Javascript中 带名 匿名 箭头函数的重要区别(推荐)
2017/01/29 Javascript
Spring shiro + bootstrap + jquery.validate 实现登录、注册功能
2017/06/02 jQuery
jQuery操作DOM_动力节点Java学院整理
2017/07/04 jQuery
微信小程序之页面跳转和参数传递的实现
2017/09/29 Javascript
如何去除vue项目中的#及其ie9兼容性
2018/01/11 Javascript
JS工厂模式开发实践案例分析
2019/10/17 Javascript
python中pygame针对游戏窗口的显示方法实例分析(附源码)
2015/11/11 Python
PyQt5内嵌浏览器注入JavaScript脚本实现自动化操作的代码实例
2019/02/13 Python
Pycharm如何打断点的方法步骤
2019/06/13 Python
解决py2exe打包后,总是多显示一个DOS黑色窗口的问题
2019/06/21 Python
python3 打印输出字典中特定的某个key的方法示例
2019/07/06 Python
Python多线程及其基本使用方法实例分析
2019/10/29 Python
python3 deque 双向队列创建与使用方法分析
2020/03/24 Python
聊聊Python pandas 中loc函数的使用,及跟iloc的区别说明
2021/03/03 Python
css3 border-image使用说明
2010/06/23 HTML / CSS
护理自我鉴定范文
2013/10/06 职场文书
记者岗位职责
2014/01/06 职场文书
上班迟到检讨书
2014/01/10 职场文书
求职信范文怎么写
2014/01/29 职场文书
网络营销策划方案
2014/06/04 职场文书
清明节扫墓活动总结
2015/02/09 职场文书
综合管理员岗位职责
2015/02/11 职场文书
区域销售经理岗位职责
2015/04/02 职场文书
从严治党主题教育活动总结
2015/05/07 职场文书
礼仪培训心得体会
2016/01/22 职场文书
找规律教学反思
2016/02/23 职场文书