我有一个名为box
的div,它包含三个类。我想创建一个名为relatedBoxes
的变量,它存储共享box
所有相同类的复选框。
我正在拆分类并将它们存储在名为splitClass
的变量中。
我现在只需要该方法来查看:checkbox
是否包含splitClass
中保存的任何类。我试过创建变量relatedBoxes
,但这不太有用。
标记:
<div id="box" class="marker blue large">
JavaScript:
var c = $('#box').attr('class');
var splitClass = c.split(' ');
var relatedBoxes = $(':checkbox').hasClass(splitClass);
非常感谢你们
答案 0 :(得分:4)
hasClass
期望一个类名,你现在正在传递一个数组。如果您尝试使用marker
,blue
或large
找到所有元素,请执行以下操作:
var relatedBoxes = $( ':checkbox' ).filter( '.' + splitClass.join( ',.' ) );
答案 1 :(得分:0)
您可以使用.filter()
[docs]并迭代元素的类:
var splitClass = $('#box').attr('class').split(' ');
var relatedBoxes = $('input[type="checkbox"]').filter(function() {
for(var i = 0, len = splitClass.length; i < len; i++) {
if($(this).hasClass(splitClass[i])) return true;
}
return false;
});