2012-04-17 108 views
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()进行过滤,但感觉像是黑客。任何方式来优雅地做到这一点?

回答

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

+0

可能要使用'/ \ s + /',http://stackoverflow.com/questions/1227286/get-class-list-for-element-with-jquery – 2012-04-17 18:09:11

+0

@ErikPhilips:是的,已经修复它。但是,谢谢。 :) – 2012-04-17 18:09:29

+0

这基本上是我在想什么,虽然我认为'是()'会充当选择器,但它只是一个真/假测试。看起来不错 – Bort 2012-04-17 18:09:55

相关问题