Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery选择#id,前缀为单词,后缀为计数器_Javascript_Jquery - Fatal编程技术网

Javascript jQuery选择#id,前缀为单词,后缀为计数器

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]"); 但是没有允许您指定字符范围的

有没有办法用带有前缀“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^="my"]').filter(
    function(){
        return this.id.match(/\d+$/);
    });

上面选择其
id
以值
my
开头的所有
div
元素,然后将返回的元素筛选为其
id
也以数字字符结尾的元素

参考资料:


假设您没有数百万个以“my”开头的元素,您可以:

$('[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 })