0

如何从 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);
});
4

5 回答 5

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');
});

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

于 2013-06-12T08:59:55.997 回答
0

由于您无论如何都在使用jQuery:

$(this).attr('id').replace('subscript-guest-id-', '');
于 2013-06-12T09:00:17.167 回答
0

试试这个substring()

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

演示

于 2013-06-12T09:00:57.353 回答
0

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

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

另一个例子:DEMO

于 2013-06-12T09:01:37.843 回答
0

有待改善:

http://jsfiddle.net/H6ZUg/

$('[id^="subscript-guest-id-"]').click(function(){
        var sid = this.id.split('-').pop();
        alert(sid);
});
于 2013-06-12T09:01:44.013 回答