2011-02-24 63 views
6

我有幾個類,我想選擇.group1-1 .group1-2 .group1-3,其中每個都有50個元素下。使用通配符選擇類不是確切的類名稱

有沒有一種方法來選擇與組1開頭的所有類(所以我最終選擇group1-1,group1-2,group1-3),像$(".group1"+*)

回答

10

您也可以使用沿着此線的東西,如果你想避免的正則表達式:

$("[class^='group1-']").click(function() { 
    var groupNumber = $(this).attr('class').split('-')[1]; 
    alert('Yep, you clicked group1-' + groupNumber); 
}); 

這裏舉例:http://jsfiddle.net/iwasrobbed/7bjtb/

+5

小心,因爲這解決方案將不匹配對於具有多個元素類,如果'group1- *'類不是'class'屬性中列出的第一個。有關此示例,請參閱http://jsfiddle.net/vQk9U/2/。 – 2014-01-31 21:43:01

+0

...此外,從'^ ='切換到'\ * ='將起作用,直到遇到'group1-'與另一個類名稱的子字符串匹配的問題,例如'mygroup1- *': - ) – 2014-01-31 21:51:16

2

This question討論jQuery的通配符/正則表達式選擇。它基本上允許你使用正則表達式來指定匹配的類。