如何使用香草JS检查元素是否具有多个类

Ent*_*ord 1 javascript

我试图弄清楚如何编写一个类似以下内容的if语句:

if (element contains class 1 && class 2) {
   // do this
}
Run Code Online (Sandbox Code Playgroud)

如何编写if语句来检查多个类?

有没有一种方法可以让.contains方法检查多个类?

到目前为止,我发现了什么:

如何在没有jQuery的情况下检查javascript中多个类元素的类

问题是,它似乎正在返回该元素包含的所有类的数组,这不是我想要的。我需要函数来检查元素是否包含我为其提供的类。

在我看来,其中一种解决方案看起来像是在要求我们创建自己的函数来执行此操作,但是JS上是否有本机方法可以解决问题?

我对这些东西还很陌生,非常感谢你们在回答我的问题时表现出的耐心。

Poi*_*nty 5

您可以.matches()在元素上使用API,并且现在已经很好地支持它:

if (element.matches(".class1.class2")) ...
Run Code Online (Sandbox Code Playgroud)

它就像jQuery的内置版本.is()

文档链接。

  • 我的方法不需要这样的诡计。只需执行 `[...element.classList].contains('a', 'cd')`,请参阅下面的我的答案。我知道修改内置对象是有风险和有问题的,但也很优雅。 (2认同)