您好我正在尝试检查一个元素是否包含我找到的类:
<span class="foo bar me"></span>
我想检查该元素上是否存在foo
和me
类,所以我使用了这个:
$('body span').hasClass('me', 'foo')
这个foo和我存储在一个数组中,但这个没有工作:
var arrayName = ['me', 'foo'];
$('body span').hasClass(arrayName)
我发现的类是动态的,这就是它存储在数组中的原因,如何将动态数组如'me', 'foo'
传递给hasClass函数?
注意: 数组中可以包含2-4个值。
我的工作在这里:https://jsfiddle.net/pcbttntk/
先谢谢。
更新: $('body span').hasClass('me', 'foo')
无效,感谢brett和Roko,它只检查传递给它的第一个类。
答案 0 :(得分:4)
有:
<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()
只接受一个参数
答案 1 :(得分:0)