2012-04-17 126 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

相關問題