我需要使用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/

10-11 13:01