javascript - 如何在 JavaScript 中添加/删除类?

标签 javascript dom cross-browser

element.classList IE 9 和 Safari-5 不支持,有什么替代的跨浏览器解决方案?

No-frameworks请。

解决方案必须至少适用于IE 9Safari 5、FireFox 4、Opera 11.5 和 Chrome。

相关帖子(但不包含解决方案):

  1. how to add and remove css class

  2. Add and remove a class with animation

  3. Add remove class?

最佳答案

这里是纯javascript解决方案中addClass、removeClass、hasClass的解决方案。

其实是来自http://jaketrent.com/post/addremove-classes-raw-javascript/

function hasClass(ele,cls) {
  return !!ele.className.match(new RegExp('(\\s|^)'+cls+'(\\s|$)'));
}

function addClass(ele,cls) {
  if (!hasClass(ele,cls)) ele.className += " "+cls;
}

function removeClass(ele,cls) {
  if (hasClass(ele,cls)) {
    var reg = new RegExp('(\\s|^)'+cls+'(\\s|$)');
    ele.className=ele.className.replace(reg,' ');
  }
}

关于javascript - 如何在 JavaScript 中添加/删除类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6787383/

相关文章:

javascript - 加载没有面的 PLY 文件 - Three.js

javascript - 错误 : error:unpr Unknown Provider injected service in controller

php - Goutte-dom爬虫-移除节点

javascript - 如何在新窗口上打开同一页面,并与它们交叉 JavaScript?

cross-browser - 有没有离线的跨浏览器测试工具

javascript - 使用 querySelectorAll 定位嵌套元素

javascript - Uncaught ReferenceError : define is not defined typescript

html - 什么决定元素是否需要结束标签?

css - 如何在没有 ipad 的情况下测试 ipad 网站,无论是纵向还是横向?

javascript - 在 IE 中输入字段不显示光标或无法输入字母