首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >IE9 Javascript classList属性

IE9 Javascript classList属性
EN

Stack Overflow用户
提问于 2017-02-17 00:34:46
回答 3查看 240关注 0票数 0

IE9不支持classList属性,在IE9中,这行javascript中是否存在该属性

代码语言:javascript
复制
this.wrap.classList.add("myClass") 
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-02-17 00:37:11

有多个填充,但如果您不想使用它:因为className是一个空格分隔的类列表,所以您可以使用正则表达式:

代码语言:javascript
复制
return /(?:^|\s)myClass(?:$|\s)/.test(document.body.className);

(遗憾的是,我们不能只使用\b单词边界,因为-可以作为单词边界,而不是类列表中的分隔符。)

票数 2
EN

Stack Overflow用户

发布于 2017-02-17 00:40:13

另一种选择:

代码语言:javascript
复制
const hasClass = ($element, className) => {
  const match = new RegExp(`(^|\\s)${className}(\\s|$)`).test($element.className);
  return $element.className && match;
};

const $el = document.querySelector('.foo');

alert(hasClass($el, 'foo'));
代码语言:javascript
复制
.foo {
  background: tomato;
}
代码语言:javascript
复制
<div class="foo">Foobar</div>

票数 0
EN

Stack Overflow用户

发布于 2017-02-17 00:41:53

基于前面的回答,如果您不想自己处理正则表达式的细节,可以导入jQuery并改用jQuery的.hasClass()方法。

代码语言:javascript
复制
return $(document.body).hasClass("myClass");

jQuery负责处理跨浏览器支持。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42279695

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档