如何在 JavaScript 中检查元素是否包含类
在 JavaScript 中检查元素是否包含特定类是一项常见任务。虽然可以使用 switch 语句来比较元素的类属性,但此方法在处理具有多个类的元素时有局限性。
要获得更可靠的解决方案,请考虑使用 element.classList.contains 方法:
element.classList.contains('class-name');
如果元素具有指定的类,则此方法返回 true,否则返回 false。它支持所有现代浏览器,并且具有适用于旧版浏览器的polyfills。
替代方法:
如果您需要支持旧版浏览器并且polyfills不是一个选项,您可以使用以下调整后的indexOf方法:
function hasClass(element, className) { return (' ' + element.className + ' ').indexOf(' ' + className + ' ') > -1; }
此方法确保在整个类中执行搜索
应用到示例:
在提供的示例中,我们可以使用 hasClass 方法来简化代码并实现期望的结果:
var test = document.getElementById('test'); for (var i = 0, j = classes.length; i < j; i++) { if (hasClass(test, classes[i])) { test.innerHTML = 'I have ' + classes[i]; break; } }
此代码迭代类数组并检查它们中是否有任何一个包含在元素的类中 属性。这是比使用 switch 语句或字符串匹配更高效、更灵活的解决方案。
以上是如何高效检查 JavaScript 元素是否包含特定类?的详细内容。更多信息请关注PHP中文网其他相关文章!