分裂课程&将它们与另一个DIV相匹配。 JQuery的

时间:2011-12-27 17:39:28

标签: javascript jquery class jquery-selectors

我有一个名为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);

非常感谢你们

2 个答案:

答案 0 :(得分:4)

hasClass期望一个类名,你现在正在传递一个数组。如果您尝试使用markerbluelarge找到所有元素,请执行以下操作:

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;
});