如何使用正则表达式选择所有带有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(中间的数字)发生变化。
答案 0 :(得分:1)
为什么不使用属性选择器并“以...开头”:
$('input[id^="edit-field-media"][id$="children-1249-checkbox"]')
您甚至可以同时使用starts with
和ends 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。