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()することを考えましたが、それはハックのように感じます。これをエレガントに行う方法はありますか?

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'。つまり、これらのクラスの少なくとも1つを持つ要素を選択します。

于 2012-04-17T18:04:29.917 に答える