确定 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通过使用 .contains 方法或修改后的 indexOf 函数,您可以可靠地确定某个元素是否包含 JavaScript 中的特定类,而不管浏览器兼容性或是否存在部分匹配。
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3