jquery通过正则表达式id选择元素

时间:2012-11-06 12:47:33

标签: jquery regex

如何使用正则表达式选择所有带有ID的复选框

edit-field-media-en-cat-value-1080-children-1122-children-1249-checkbox

edit-field-media-en-cat-value-1080-children-1125-children-1259-checkbox

edit-field-media-en-cat-value-1080-children-1249-checkbox

edit-field-media-en-cat-value-1080-children-1122-checkbox

IDS(中间的数字)发生变化。

3 个答案:

答案 0 :(得分:1)

为什么不使用属性选择器并“以...开头”:

$('input[id^="edit-field-media"][id$="children-1249-checkbox"]')

您甚至可以同时使用starts withends with选择器吗?

答案 1 :(得分:0)

您可以使用ends with选择器执行此操作:

$(":checkbox[id$='1249-checkbox'], 
   :checkbox[id$='1259-checkbox'], 
   :checkbox[id$='1122-checkbox']");

通过这种方式,您将获得带有这些特定标识符(1249,1259,1122)的复选框,以便在有类似复选框但具有不同标识符的情况下,它们将无法进入您的选择。

所以我假设你想要一组相似项目中的那些特定项目的复选框。

答案 2 :(得分:0)

要获取模式value-ANY-children-ANY-children-ANY-checkbox的复选框,您可以使用自定义选择器,如下所示:

$.expr[':'].mychecks = function(elem, i, match, stack) {
   reg = /value-[0-9]+-children-[0-9]+-children-[0-9]+-checkbox/g
   return reg.test(elem.id);
};

然后使用它:

$(':checkbox:mychecks');
//or the equivalent
$('input[type=checkbox]:mychecks');

见工作demo