使用通配符选择类不是确切的类名称

问题描述:

我有几个类,我想选择.group1-1 .group1-2 .group1-3,其中每个都有50个元素下。使用通配符选择类不是确切的类名称

有没有一种方法来选择与组1开头的所有类(所以我最终选择group1-1,group1-2,group1-3),像$(".group1"+*)

您也可以使用沿着此线的东西,如果你想避免的正则表达式:

$("[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

This question讨论jQuery的通配符/正则表达式选择。它基本上允许你使用正则表达式来指定匹配的类。