划分类&将它们与另一个DIV匹配

Splitting classes & matching them against another DIV. JQuery

本文关键字:另一个 DIV 匹配 分类 划分      更新时间:2023-09-26

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

谢谢大家

hasClass期望一个单一的类名,你现在传递它一个数组。如果你试图找到所有元素与marker, bluelarge,像这样:

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

您可以使用.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;
});