2

如何检查选择器以查看他是否以数字结尾?JS代码:

if(!$(this).val())
{
   $('label[for^=image], input[id^=image], input[name=time]').remove();                              
}

我尝试添加/d/,但它不起作用(

$('label[for^=image' + /d/ +'], ....

)

4

4 回答 4

7

演示就是你要找的东西:http: //jsfiddle.net/8g2WL/

行为:对于以数字结尾的 id,label您将看到一条警报。

希望这会有所帮助,如果我错过了什么,请告诉我。

使用正则表达式的示例代码

$('label').each(function(){

    if ($(this).attr("id").match(/\d+$/) != null)
       alert($(this).attr("id").match(/\d+$/));


    });​

html

<label id="foo">hulk</label><br/>

<label id="foo_23">HUlk with number</label><br/>


<label id="foo1">ironman with number </label><br/>

<label id="foo">hulk</label><br/>
​
于 2012-06-18T12:25:26.547 回答
0

您可能需要使用.filter()与正则表达式匹配:

$('label').filter(function(){
    var forValue = $(this).attr("for") || '';
    return /^image\d+/.test(forValue);
});
于 2012-06-18T12:18:53.643 回答
0
$('label')
    .filter(function() {
        return $(this).attr("for").search(/image\d/)==0;
    })
    .html("Matched!")
    ;
于 2012-06-18T12:27:46.793 回答
0

为 jQuery使用扩展正则表达式选择器。预览 - http://jsfiddle.net/yDA9n/

$('label:regex(id,[0-9]$)').css('color', 'red');​​​​​​
于 2012-06-18T12:41:50.297 回答