如何从div id名称中检索id

时间:2013-06-12 08:58:22

标签: jquery

如何从div名称中检索id数字?

例如对于以下html我想检索123 <div id="subscript-guest-id-123"></div>

我尝试了什么

$('[id^="subscript-guest-id-"]').click(function(){
        var sid = this.id.slice().replace('/subscript-guest-id-/','');
        alert(sid);
});

5 个答案:

答案 0 :(得分:1)

应该是:

var sid = this.id.replace('subscript-guest-id-', '');

也就是说,在ID中存储这样的数据并不总是最佳选择。更好的方法是将数字存储在数据属性中:

<div class="subscript-guest" data-id="123"></div>

并访问它:

$('.subscript-guest').click(function(){
    var sid = $(this).data('id');
});

使用数据属性的好处是您不必进行任何字符串解析来获取值。

答案 1 :(得分:0)

因为你还在使用jQuery:

$(this).attr('id').replace('subscript-guest-id-', '');

答案 2 :(得分:0)

使用substring()

尝试此操作
 $('[id^="subscript-guest-id-"]').click(function(){
            var sid = $(this).attr('id').substring(19);
            alert(sid);
    });

DEMO

答案 3 :(得分:0)

您可以使用正则表达式查找数字:

$(this).attr("id").match(/\d+/)

另一个例子:DEMO

答案 4 :(得分:0)

可能会更好:

http://jsfiddle.net/H6ZUg/

$('[id^="subscript-guest-id-"]').click(function(){
        var sid = this.id.split('-').pop();
        alert(sid);
});