使用与正则表达式匹配的过滤函数

时间:2017-11-30 05:57:38

标签: javascript

我试图让所有id为check-button_n的按钮在0到20的范围内为n,然后点击它们。

我使用了以下代码:

Module

然而它不起作用。即使id返回check-button_0,check-button_1等,匹配也始终返回null。 谁能帮助我理解我做错了什么? 或者,任何人都可以告诉我如何提取具有匹配ID的所有按钮,如前所述并执行点击它们吗?

在tpl:

                                                                          校验                         谢谢!

我是javascript和jquery的新手,所以详细解释将不胜感激! :)

1 个答案:

答案 0 :(得分:1)

  

然而它不起作用。尽管匹配总是返回null   id返回check-button_0,check-button_1等

您需要返回 filter回调中的匹配

$('button').filter(function () { return this.id.match(/^check-button_/)});

或者只需使用属性starts-with selector ^=

$('button[id^="check-button_"]');
  

或者,任何人都可以告诉我如何提取所有按钮   如前所述匹配id并执行点击它们?

$('button[id^="check-button_"]').each( function(){
   var id = +this.id.substring( "check-button_".length ); //13 is the length of `check-button_`
   if ( id >= 0 && id <= 20 )
   {
      $(this).click();
   }
})