有没有办法用 jQuery 选择所有带有前缀“my”和后缀“0-9”的 id。像这些 $("#my$1-4") 之类的东西,还是可以通过循环来实现?
<div id="my1"/>
<div id="my2"/>
<div id="my3"/>
<div id="my4"/>
<div id="my5"/>
有没有办法用 jQuery 选择所有带有前缀“my”和后缀“0-9”的 id。像这些 $("#my$1-4") 之类的东西,还是可以通过循环来实现?
<div id="my1"/>
<div id="my2"/>
<div id="my3"/>
<div id="my4"/>
<div id="my5"/>
第一个想法,这似乎运作良好:
$('div[id^="my"]').filter(
function(){
return this.id.match(/\d+$/);
});
上面选择所有以 value 开头的div
元素,然后将返回的元素过滤为也以数字字符结尾的元素。id
my
id
参考:
假设您没有以“my”开头的数百万个元素,您可以这样做:
$('[id^=my]').filter(function() { return this.id.matches(/\d/) && this.id.length == 3 })
这会抓取所有具有以“my”开头的 id、包含数字且只有 3 个字符长的元素(因此“my54”将不匹配,但“my6”将匹配)