首页 > web前端 > js教程 > 如何在 JavaScript 中检查元素是否包含特定类?

如何在 JavaScript 中检查元素是否包含特定类?

Linda Hamilton
发布: 2024-11-13 00:57:02
原创
561 人浏览过

How to Check if an Element Contains a Specific Class in JavaScript?

如何在 JavaScript 中检查元素是否包含类

在 JavaScript 中使用元素时,检查元素是否包含类通常很有用包含特定类。

问题:

当元素包含多个时,使用传统方法将元素的 className 属性与确切的类名称进行比较会导致误报类。例如,如果元素具有类 class1 并且代码检查 class1,如果元素还具有其他类,则会返回 false。

解决方案:element.classList.contains()

现代解决方案是使用 element.classList.contains() 方法,如果元素包含指定的类,该方法将返回 true。

element.classList.contains(className);
登录后复制

此方法适用于所有主要浏览器并且有适用于旧版浏览器的polyfill。

替代方案:带有修改的indexOf()

为了与旧版浏览器兼容,可以使用indexOf()方法,但它需要稍微修改以避免误报:

function hasClass(element, className) {
  return (' ' + element.className + ' ').indexOf(' ' + className + ' ') > -1;
}
登录后复制

应用于示例

使用 classList.contains() 方法,提供的代码可以简化为:

var test = document.getElementById("test");
var classes = ['class1', 'class2', 'class3', 'class4'];

test.innerHTML = "";

for (var i = 0, j = classes.length; i < j; i++) {
  if (test.classList.contains(classes[i])) {
    test.innerHTML = "I have " + classes[i];
    break;
  }
}
登录后复制

这种方法消除了冗余,并为类存在提供了更强大的检查。

以上是如何在 JavaScript 中检查元素是否包含特定类?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板