原生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封装的一个js分页
Nov 15 Javascript
Javascript改变CSS样式(局部和全局)
Dec 18 Javascript
JS数组(Array)处理函数整理
Dec 07 Javascript
分享15个大家都熟知的jquery小技巧
Dec 02 Javascript
javascript日期格式化方法小结
Dec 17 Javascript
全面了解构造函数继承关键apply call
Jul 26 Javascript
前端程序员必须知道的高性能Javascript知识
Aug 24 Javascript
在Vue中如何使用Cookie操作实例
Jul 27 Javascript
javascript 构建模块化开发过程解析
Sep 11 Javascript
Vue.directive 实现元素scroll逻辑复用
Nov 29 Javascript
jQuery 添加元素和删除元素的方法
Jul 15 jQuery
使用vue3重构拼图游戏的实现示例
Jan 25 Vue.js
纯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
SONY SRF-40W电路分析
2021/03/02 无线电
常用的php对象类型判断
2008/08/27 PHP
PHP PDOStatement::closeCursor讲解
2019/01/30 PHP
PHP与Web页面的交互示例详解一
2020/08/04 PHP
一个字符串反转函数可实现字符串倒序
2014/09/15 Javascript
javascript中字符串拼接详解
2014/09/26 Javascript
js实现交换运动效果的方法
2015/04/10 Javascript
JS验证IP,子网掩码,网关和MAC的方法
2015/07/02 Javascript
深入理解jQuery layui分页控件的使用
2016/08/17 Javascript
微信小程序 基础知识css样式media标签
2017/02/15 Javascript
angular学习之从零搭建一个angular4.0项目
2017/07/10 Javascript
webpack中CommonsChunkPlugin详细教程(小结)
2017/11/09 Javascript
js实现移动端轮播图
2020/12/21 Javascript
微信小程序实现收货地址左滑删除
2020/11/18 Javascript
在Koa.js中实现文件上传的接口功能
2019/10/08 Javascript
Auto.JS实现抖音刷宝等刷视频app,自动点赞,自动滑屏,自动切换视频功能
2020/05/08 Javascript
Vue实现input宽度随文字长度自适应操作
2020/07/29 Javascript
python通过openpyxl生成Excel文件的方法
2015/05/12 Python
python生成器generator用法实例分析
2015/06/04 Python
快速查询Python文档方法分享
2017/12/27 Python
django rest framework 数据的查找、过滤、排序的示例
2018/06/25 Python
Python IDE Pycharm中的快捷键列表用法
2019/08/08 Python
使用 Python 合并多个格式一致的 Excel 文件(推荐)
2019/12/09 Python
linux mint中搜狗输入法导致pycharm卡死的问题
2020/10/28 Python
如何基于Python爬虫爬取美团酒店信息
2020/11/03 Python
举例讲解Python装饰器
2020/12/24 Python
澳大利亚二手奢侈品网站:Modsie
2019/09/23 全球购物
星空联盟C# .net笔试题
2014/12/05 面试题
软件工程师面试题
2012/06/25 面试题
挂牌仪式策划方案
2014/05/18 职场文书
酒店七夕情人节活动策划方案
2014/08/24 职场文书
教师群众路线学习心得体会
2014/11/04 职场文书
营销计划书范文
2015/01/17 职场文书
Python中快速掌握Data Frame的常用操作
2021/03/31 Python
CSS极坐标的实例代码
2021/06/03 HTML / CSS
SpringBoot全局异常处理方案分享
2022/05/25 Java/Android