0

给定一个像

<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()功能,所以我考虑使用 抓取包含主 div 的类的字符串attr("class"),在每个类前面加上过滤器.和使用is()过滤器,但这感觉就像是 hack。有什么方法可以优雅地做到这一点?

4

1 回答 1

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'。换句话说,它将选择至少具有这些类之一的任何元素。

于 2012-04-17T18:04:29.917 回答