选择具有任何其他元素
问题描述:
的考虑像选择具有任何其他元素
<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()
进行过滤,但感觉像是黑客。任何方式来优雅地做到这一点?
答
$('#targeted_div').click(function() {
if (this.className) {
var classes = $.trim(this.className).split(/\s+/);
var matches = $('.' + classes.join(',.'));
}
});
所以如果'#targeted_div'
类是A B
,对于比赛的选择将是'.A,.B'
。换句话说,它将选择至少有一个这些类的元素。
可能要使用'/ \ s + /',http://*.com/questions/1227286/get-class-list-for-element-with-jquery – 2012-04-17 18:09:11
@ErikPhilips:是的,已经修复它。但是,谢谢。 :) – 2012-04-17 18:09:29
这基本上是我在想什么,虽然我认为'是()'会充当选择器,但它只是一个真/假测试。看起来不错 – Bort 2012-04-17 18:09:55