Javascript 拆分类并将它们与另一个DIV.JQuery进行匹配

Javascript 拆分类并将它们与另一个DIV.JQuery进行匹配,javascript,jquery,class,jquery-selectors,Javascript,Jquery,Class,Jquery Selectors,我有一个名为box的div,它包含三个类。我想创建一个名为relatedboxs的变量,用于存储共享box所具有的任何相同类的复选框 var c = $('#box').attr('class'); var splitClass = c.split(' '); var relatedBoxes = $(':checkbox').hasClass(splitClass); 我正在拆分这些类并将它们存储在名为splitClass的变量中 var c = $('#box').attr('class

我有一个名为box的div,它包含三个类。我想创建一个名为relatedboxs的变量,用于存储共享box所具有的任何相同类的复选框

var c = $('#box').attr('class');
var splitClass = c.split(' ');

var relatedBoxes = $(':checkbox').hasClass(splitClass);
我正在拆分这些类并将它们存储在名为splitClass的变量中

var c = $('#box').attr('class');
var splitClass = c.split(' ');

var relatedBoxes = $(':checkbox').hasClass(splitClass);
现在我只需要使用该方法来查看:checkbox是否包含保存在splitClass中的任何类。我尝试过创建变量relatedbox,但效果不太好

var c = $('#box').attr('class');
var splitClass = c.split(' ');

var relatedBoxes = $(':checkbox').hasClass(splitClass);
标记:

<div id="box" class="marker blue large">
var c = $('#box').attr('class');
var splitClass = c.split(' ');

var relatedBoxes = $(':checkbox').hasClass(splitClass);
非常感谢各位

您可以使用并迭代元素的类:

var c = $('#box').attr('class');
var splitClass = c.split(' ');

var relatedBoxes = $(':checkbox').hasClass(splitClass);
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;
});
您可以使用并迭代元素的类:

var c = $('#box').attr('class');
var splitClass = c.split(' ');

var relatedBoxes = $(':checkbox').hasClass(splitClass);
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;
});
hasClass需要一个单独的类名,您现在正在向它传递一个数组。如果您试图查找带有标记的所有元素(蓝色或大型),例如:

var c = $('#box').attr('class');
var splitClass = c.split(' ');

var relatedBoxes = $(':checkbox').hasClass(splitClass);
var relatedBoxes = $( ':checkbox' ).filter( '.' + splitClass.join( ',.' ) );
hasClass需要一个单独的类名,您现在正在向它传递一个数组。如果您试图查找带有标记的所有元素(蓝色或大型),例如:

var c = $('#box').attr('class');
var splitClass = c.split(' ');

var relatedBoxes = $(':checkbox').hasClass(splitClass);
var relatedBoxes = $( ':checkbox' ).filter( '.' + splitClass.join( ',.' ) );

+我喜欢那样。可能与筛选器一起使用:$'input[type=checkbox]'.filter'.+splitClass.join'..@FelixKling-正在这样做:看起来不错,给我一点时间来测试一下。希望它能存储所有与这些类匹配的复选框!谢谢你的回答@CecilTheodore-就是这个想法。它最终解析为$':checkbox.filter.marker.blue.large'-是jQuery选择器中的or运算符这非常酷。真的很简单+1克沃尔夫斯!也解决了。+1我喜欢这样。可能与筛选器一起使用:$'input[type=checkbox]'.filter'.+splitClass.join'..@FelixKling-正在这样做:看起来不错,给我一点时间来测试一下。希望它能存储所有与这些类匹配的复选框!谢谢你的回答@CecilTheodore-就是这个想法。它最终解析为$':checkbox.filter.marker.blue.large'-是jQuery选择器中的or运算符这非常酷。真的很简单+1克沃尔夫斯!也解决了。