Javascript jQuery选择#id,前缀为单词,后缀为计数器
有没有办法用带有前缀“my”和后缀“0-9”的jQuery选择所有id。 类似于$(“#我的$1-4”)的东西,或者仅仅是一个循环就可以了Javascript jQuery选择#id,前缀为单词,后缀为计数器,javascript,jquery,Javascript,Jquery,有没有办法用带有前缀“my”和后缀“0-9”的jQuery选择所有id。 类似于$(“#我的$1-4”)的东西,或者仅仅是一个循环就可以了 <div id="my1"/> <div id="my2"/> <div id="my3"/> <div id="my4"/> <div id="my5"/> 前缀部分可通过选择器轻松实现: $("div[id^=my]"); 但是没有允许您指定字符范围的
<div id="my1"/>
<div id="my2"/>
<div id="my3"/>
<div id="my4"/>
<div id="my5"/>
前缀部分可通过选择器轻松实现:
$("div[id^=my]");
但是没有允许您指定字符范围的选择器,因此必须涉及循环。我建议:
第一个想法似乎很有效:
$('div[id^="my"]').filter(
function(){
return this.id.match(/\d+$/);
});
上面选择其id
以值my
开头的所有div
元素,然后将返回的元素筛选为其id
也以数字字符结尾的元素
参考资料:
$('[id^=my]').filter(function() { return this.id.matches(/\d/) && this.id.length == 3 })
这将获取id以“my”开头、包含数字且长度仅为3个字符的所有元素(因此“my54”将不匹配,但“my6”将匹配)是否只需要id选择器?为什么不使用类、名称或数据选择器呢。对于最后一个,请参见也有类似于此的属性选择器这是与属性选择器匹配的规范子字符串
$('[id^=my]').filter(function() { return this.id.matches(/\d/) && this.id.length == 3 })