Jquery - 检查选择器是否以数字结尾

时间:2012-06-18 12:15:31

标签: javascript jquery

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

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

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

  

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

4 个答案:

答案 0 :(得分:7)

您正在寻找

演示http://jsfiddle.net/8g2WL/

行为:对于以label中的数字结尾的ID,您会看到提醒。

希望这有帮助,如果我遗漏了任何内容,请告诉我。

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

$('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/>
​

答案 1 :(得分:0)

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

$('label').filter(function(){
    var forValue = $(this).attr("for") || '';
    return /^image\d+/.test(forValue);
});

答案 2 :(得分:0)

$('label')
    .filter(function() {
        return $(this).attr("for").search(/image\d/)==0;
    })
    .html("Matched!")
    ;

答案 3 :(得分:0)

使用扩展程序Regex Selector for jQuery。预览 - http://jsfiddle.net/yDA9n/

$('label:regex(id,[0-9]$)').css('color', 'red');​​​​​​