2013-06-12 32 views
0

如何从div名称中检索id数字?如何从div ID名称中检索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); 
}); 
+0

您的DIV没有任何名称属性,您问题相当模棱两可 –

回答

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

使用数据的好处是属性,你不必做任何字符串解析以获取值。

0

由于您使用jQuery无论如何:

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

substring()试试这个:

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

DEMO

0

你可以使用正则表达式查找号码:

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

又如:DEMO

0

可能是更好:

http://jsfiddle.net/H6ZUg/

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