首页 >web前端 >css教程 >如何可靠地检查 JavaScript 中特定类是否存在?

如何可靠地检查 JavaScript 中特定类是否存在?

Barbara Streisand
Barbara Streisand原创
2024-12-25 06:05:17726浏览

How Can I Reliably Check for the Presence of a Specific Class in JavaScript?

确定 JavaScript 中元素类的存在

检查元素的类属性时,通常需要验证它是否包含特定类。提供的代码利用 switch 语句来检查元素的确切类值,但此方法无法检测部分匹配。

要解决此限制,请考虑使用 element.classList .contains 方法。此方法接受类名作为参数,并返回一个布尔值,指示其在元素的类列表中的存在:

element.classList.contains(class);

现代浏览器普遍支持此方法,并提供一致的方法来检查类包含。

或者,为了与缺少 .contains 方法的旧版浏览器兼容,您可以使用以下 indexOf 的修改版本方法:

function hasClass(element, className) {
    return (' ' + element.className + ' ').indexOf(' ' + className + ' ') > -1;
}

此修改可确保您准确检测部分匹配,避免当您查找的类是较大类名称的一部分时出现误报。

将此方法应用于提供的示例:

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

test.innerHTML = "";

for(var i = 0, j = classes.length; i < j; i++) {
    if(hasClass(test, classes[i])) {
        test.innerHTML = "I have " + classes[i];
        break;
    }
}

通过使用.contains方法或者修改后的indexOf函数,你可以可靠地判断一个元素是否包含JavaScript中的特定类,无论浏览器兼容性或是否存在部分匹配。

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

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn