给出像
这样的元素<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()
过滤,但这感觉就像一个黑客。任何方式优雅地做到这一点?
答案 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'
。换句话说,它将选择至少具有其中一个类的任何元素。