您好,我正在尝试检查某个元素是否具有我正在查找的类,例如:
<span class="foo bar me"></span>
我想检查该元素上是否存在 foo
和 me
类,所以我使用了这个:
$('body span').hasClass('me', 'foo')
这个 foo 和 me 存储在一个数组中,但是这个没有用:
var arrayName = ['me', 'foo'];
$('body span').hasClass(arrayName)
我发现的类是动态的,这就是它存储在数组中的原因,如何将动态数组(如 'me', 'foo'
)传递给 hasClass 函数?
注意:数组中可以有 2-4 个值。
我在这里工作:https://jsfiddle.net/pcbttntk/
提前致谢。
更新: $('body span').hasClass('me', 'foo')
不工作,感谢brett 和 Roko,它只检查传递给它的第一个类。
最佳答案
拥有:
<span class="foo bar me"></span>
同时具有 me
和 foo
类:
$('span').is(".foo.me");
使用类数组,您可以使用.join()
来获取所需的字符串选择器".foo.me"
,例如:
var classes = ['me', 'foo'];
$('span').is("."+ classes.join("."));
或更简单:
var classes = ['.me', '.foo']; // (Notice the `.`)
$('span').is(classes.join(""));
回顾一下,.hasClass('me', 'foo')
基本上是错误的,因为 .hasClass()
只接受一个参数
关于javascript - Jquery 检查元素中的多个类(全部必须存在),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35027063/