原生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 相关文章推荐
收集的一些Array及String原型对象的扩展实现代码
Dec 05 Javascript
js 金额文本框实现代码
Feb 14 Javascript
js中top/parent/frame概述及案例应用
Feb 06 Javascript
JS中Iframe之间传值及子页面与父页面应用
Mar 11 Javascript
JavaScript的各种常见函数定义方法
Sep 16 Javascript
javascript实现链接单选效果的方法
May 13 Javascript
Jquery实现仿京东商城省市联动菜单
Nov 19 Javascript
总结JavaScript设计模式编程中的享元模式使用
May 21 Javascript
Three.js入门之hello world以及如何绘制线
Sep 25 Javascript
ios设备中angularjs无法改变页面title的解决方法
Sep 13 Javascript
Angularjs实现数组随机排序的方法
Oct 02 Javascript
浅谈layer的Icon样式以及一些常用的layer窗口使用方法
Sep 11 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
discuz7 phpMysql操作类
2009/06/21 PHP
php源代码安装常见错误与解决办法分享
2013/05/28 PHP
浅谈PHP调用Webservice思路及源码分享
2014/06/04 PHP
PHP进程通信基础之信号量与共享内存通信
2017/02/19 PHP
Thinkphp实现站点静态化的方法详解
2017/03/21 PHP
PHP中abstract(抽象)、final(最终)和static(静态)原理与用法详解
2020/06/05 PHP
Node.js编码规范
2014/07/14 Javascript
jQuery常用数据处理方法小结
2015/02/20 Javascript
JQuery标签页效果的两个实例讲解(4)
2015/09/17 Javascript
基于Jquery+div+css实现弹出登录窗口(代码超简单)
2015/10/27 Javascript
Javascript实现的SHA-256加密算法完整实例
2016/02/02 Javascript
详解vue或uni-app的跨域问题解决方案
2020/02/21 Javascript
JavaScript中的this妙用实例分析
2020/05/09 Javascript
微信小程序之导航滑块视图容器功能的实现代码(简单两步)
2020/06/19 Javascript
Vue(定时器)解决mounted不能获取到data中的数据问题
2020/07/30 Javascript
[52:03]Secret vs VG 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
详解Python中time()方法的使用的教程
2015/05/22 Python
Linux下将Python的Django项目部署到Apache服务器
2015/12/24 Python
利用Python中SocketServer 实现客户端与服务器间非阻塞通信
2016/12/15 Python
Python原始字符串与Unicode字符串操作符用法实例分析
2017/07/22 Python
使用paramiko远程执行命令、下发文件的实例
2017/10/01 Python
python爬取淘宝商品详情页数据
2018/02/23 Python
如何使用VSCode愉快的写Python于调试配置步骤
2018/04/06 Python
Python自动化测试笔试面试题精选
2020/03/12 Python
python如何设置静态变量
2020/09/07 Python
Python try except else使用详解
2021/01/12 Python
html5 worker 实例(二) 图片变换效果
2013/06/24 HTML / CSS
详解HTML5中的Communication API基本使用方法
2016/01/29 HTML / CSS
西班牙在线光学:Visual-Click
2020/06/22 全球购物
土木工程个人自荐信范文
2013/11/30 职场文书
应用艺术毕业生的自我评价
2013/12/04 职场文书
答谢会策划方案
2014/05/12 职场文书
简单通用的简历自我评价
2014/09/21 职场文书
学生党员批评与自我批评
2014/10/15 职场文书
基于Pygame实现简单的贪吃蛇游戏
2021/12/06 Python
MySQL 执行数据库更新update操作的时候数据库卡死了
2022/05/02 MySQL