Jquery 检查元素中的多个类(所有类都必须存在)

Ced*_*ric 5 javascript jquery

嗨,我正在尝试检查元素是否具有我正在查找的类:

<span class="foo bar me"></span>
Run Code Online (Sandbox Code Playgroud)

我想检查该元素上是否存在fooandme类,所以我使用了这个:

$('body span').hasClass('me', 'foo')
Run Code Online (Sandbox Code Playgroud)

这个 foo 和我存储在一个数组中,但这个没有用:

var arrayName = ['me', 'foo'];
$('body span').hasClass(arrayName)
Run Code Online (Sandbox Code Playgroud)

我发现的类是动态的,这就是为什么它存储在一个数组中,如何将像这样的动态数组传递'me', 'foo'给 hasClass 函数?

注意:数组中可以有 2-4 个值。

我在这里工作:https : //jsfiddle.net/pcbttntk/

提前致谢。

更新: $('body span').hasClass('me', 'foo')不起作用,多亏了 brett 和 Roko,它只检查传递给它的第一个类。

Rok*_*jan 5

具有:

<span class="foo bar me"></span>
Run Code Online (Sandbox Code Playgroud)

具有mefoo类:

$('span').is(".foo.me");
Run Code Online (Sandbox Code Playgroud)

使用类数组,您可以用来.join()获取所需的字符串选择器,".foo.me"例如:

var classes = ['me', 'foo'];
$('span').is("."+ classes.join("."));   
Run Code Online (Sandbox Code Playgroud)

或者更简单:

var classes = ['.me', '.foo']; // (Notice the `.`)
$('span').is(classes.join(""));
Run Code Online (Sandbox Code Playgroud)

回顾一下,.hasClass('me', 'foo')基本上是错误的,因为.hasClass()只接受一个参数