我需要使用element.classList.contains('some-class')
来检查元素是否至少包含三个类之一,因此我写道:
if (element.classList.contains('class1', 'class2', 'class3')) {
// do stuff here
}
结果是-如果元素具有“class1”,则无论元素是否具有“class2”或/和“class3”,它都返回true,并且
// do stuff here
执行。但是,如果它具有“class2”和/或“class3”,则返回false和// do stuff here
不执行。我通过以下方法解决了这个问题:
if (element.classList.contains('class1') || element.classList.contains('class2') || element.classList.contains('class3')) {
// do stuff here
}
最佳答案
该功能仅需一个参数。 contains方法用于检查您的classList是否包含单个元素。您在底部发布的代码块是一个不错的解决方法。但是不幸的是,您试图在顶部执行的操作超出了classList API的范围。
关于javascript - element.classList.contains()在JavaScript中到底如何工作?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27566132/