jQuery操作class的方式非常强大

写了一个利用原生js来实现对dom元素class的操作方法

1.addClass:为指定的dom元素添加样式

2.removeClass:删除指定dom元素的样式

3.toggleClass:如果存在(不存在),就删除(添加)一个样式

4.hasClass:判断样式是否存在

下面为一toggleClass的测试例子

[html] view plaincopy
  1. <style type="text/css">
  2. div.testClass{
  3. background-color:gray;
  4. }
  5. </style>
  6. <script type="text/javascript">
  7. function hasClass(obj, cls) {
  8. return obj.className.match(new RegExp('(\\s|^)' + cls + '(\\s|$)'));
  9. }
  10. function addClass(obj, cls) {
  11. if (!this.hasClass(obj, cls)) obj.className += " " + cls;
  12. }
  13. function removeClass(obj, cls) {
  14. if (hasClass(obj, cls)) {
  15. var reg = new RegExp('(\\s|^)' + cls + '(\\s|$)');
  16. obj.className = obj.className.replace(reg, ' ');
  17. }
  18. }
  19. function toggleClass(obj,cls){
  20. if(hasClass(obj,cls)){
  21. removeClass(obj, cls);
  22. }else{
  23. addClass(obj, cls);
  24. }
  25. }
  26. function toggleClassTest(){
  27. var obj = document. getElementById('test');
  28. toggleClass(obj,"testClass");
  29. }
  30. </script>
  31. <body>
  32. <div id = "test" style = "width:250px;height:100px;">
  33. sssssssssssss
  34. </div>
  35. <input type = "button" value = "toggleClassTest" onclick = "toggleClassTest();" />
  36. </body>

原生js来实现对dom元素class的操作方法相关推荐

  1. js取iframe 上级页面_原生js获取iframe中dom元素--父子页面相互获取对方dom元素的方法...

    用原生js在父页面获取iframe子页面的元素,以及在子页面获取父页面元素,这是平时经常会用到的方法,这里写一个例子来总结下: 1.父页面(demo.html),在父页面修改子页面div的背景色为灰色 ...

  2. 原生js中如何添加dom元素

    1. appendChild() 概念:把要添加的节点添加到指定父级里面的最后面,所以也叫追加. 使用方式:fatherdom.appendChild( insertdom ). 兼容性:所有浏览器都 ...

  3. js添加、删除DOM元素

    js添加.删除DOM元素 通过demo来熟悉js添加.删除DOM元素,下面是html代码以及在浏览器中的效果: HTML <ul class="list"><li ...

  4. 原生JS和jQuery操作DOM的区别小结

    一.Js原生对象和jQuery实例对象的相互转化: (1).原生JS对象转JQ对象: $(DOM对象); (2). JQ对象转原生JS对象: $(DOM对象).get(index); //注意区分eq ...

  5. Vue.js中$refs{}获取DOM元素

    如果我们想获取DOM元素,一般使用js中的document.querySelector来获取这个dom节点,然后在获取元素的值,现在Vue提供给我们一种更便捷的方式来获取DOM元素-----$refs ...

  6. JS实时监听DOM元素变化 - MutationObserver

    使用 MutationObserver API实时监听DOM元素变化 创建 MutationObserver 实列,接受一个用于监听到DOM元素变化的回调函数 const handleListenCh ...

  7. 原生js 给动态添加的元素添加(事件监听器)

    原生js (事件监听)和(动态添加元素) 给动态添加的元素添加点击事件 <!DOCTYPE html> <html><head><meta charset=& ...

  8. Vue.js实例学习:获取DOM元素

    一.获取DOM元素 在Vue中获取DOM元素,我们可以用ref. 用法(和React一样): (1)在组件的DOM部分,任意标签中 写上:ref="xxx" (2)通过组件对象 t ...

  9. js怎么实现对html代码加密解密,javascript脚本加密解密及HTML转JS

    HTML & Javascript 相互转换 < body > HTML & Javascript 输入 & 输出 < br > < script ...

最新文章

  1. 第十、十一周项目-阅读程序,写出这些程序的运行结果(3)
  2. 陀螺仪c语言算法,陀螺仪c程序.docx
  3. 哈佛大学 CS50,全美最受欢迎的计算机课程!
  4. 6-搭建一个私有registry
  5. mysql的源码目录_Mysql DBA系统学习(2)了解mysql的源码目录及源文件
  6. python中math.log注意点
  7. 检验学习笔记-寄生虫
  8. 我的网站被黑了,关键词被劫持,总结一下是怎么解决的。
  9. 【注意】关于fgets函数
  10. PG修改表字段长度报错 cached plan must not change result type Hint: Please restore the result type
  11. Android包管理机制(一) PackageInstaller的初始化
  12. 计算机桌面不显示时间,怎么把时间显示在桌面
  13. 统计学中抽样调查和一些常用的方法
  14. 1米6农村放牛娃的奋斗历程:从同济、港理工,到清华、伯克利大学!
  15. 电脑清理(C盘清理,卸载软件以及注册表清理)
  16. 【系列笔记一】-USYD悉尼大学Data1002 Grok Module 3 课件 作业 assignment讲解
  17. 使用EKL(Elasticsearch、Kibana、Logstash)进行服务器日志的汇聚与监控
  18. IT内部控制体系建设方案-从IT角度解读《企业内部控制规范》
  19. 计计算机类学科代码是多少,高校专业代码表
  20. luoguP3353 在你窗外闪耀的星星

热门文章

  1. 数学--数论--HDU1576 A / B(逆元)
  2. 图论--关于最长路的探讨
  3. ACM-ICPC 2019 山东省省赛总结
  4. VS2015新建C++工程时,Object reference not set to an instance of an object
  5. power bi可视化表_如何使用Power BI可视化数据?
  6. cnn卷积神经网络应用_卷积神经网络(CNN):应用的核心概念
  7. 主题建模lda_使用LDA的Google Play商店应用评论的主题建模
  8. linux kernel: defconfig和.config
  9. 为中国游牧蒙古人造像
  10. 看奥运之二:现场看男子体操团体决赛