选择具有另一个元素的任何类的元素

时间:2012-04-17 18:01:06

标签: jquery

给出像

这样的元素
<div class="A B"></div>

div的类未知和/或可以改变, 我想选择像

这样的元素
<div class="A"></div>
<div class="B"></div>
<div class="A B"></div>
<div class="B Foo"></div>

换句话说,任何具有A类或B类的元素。

jQuery具有is()函数,因此我考虑使用attr("class")抓取包含主div类的字符串,在每个类前加.并使用is()过滤,但这感觉就像一个黑客。任何方式优雅地做到这一点?

1 个答案:

答案 0 :(得分:5)

$('#targeted_div').click(function() {
    if (this.className) {
        var classes = $.trim(this.className).split(/\s+/);
        var matches = $('.' + classes.join(',.'));
    }
});

因此,如果'#targeted_div'的类为A B,则匹配的选择器将为'.A,.B'。换句话说,它将选择至少具有其中一个类的任何元素。