使用Javascript从HTML ID中获取数字

时间:2010-11-23 03:52:30

标签: javascript

好吧,我有一个HTML元素<div id="slide_item_#">,其中#是一个数字。我想用Javascript做的是从id中获取数字。所以我假设一个正则表达式,我只是不知道如何在Javascript中使用它们。

var html_id = "slide_item_3";
var id_number = /* code here so that id_number == 3 */ ;

4 个答案:

答案 0 :(得分:5)

我只是使用parseInt()解析没有前缀的字符串,如下所示:

var id_number = parseInt(html_id.replace('slide_item_',''), 10);

如果您有选项,则改进将涉及为您的元素命名您的类与您的id(即“slide_item”)相同,除了您的id将在末尾附加正确的数字(即“ slide_item2" )。然后,在您的代码中,您只需使用this.className而不是显式使用“slide_item_”,此代码的其余部分将更加动态

答案 1 :(得分:2)

var id_number = parseInt(html_id.substr(11));

答案 2 :(得分:2)

var html_id = "slide_item_3";
var id_number = +html_id.split('_').pop();

答案 3 :(得分:0)

如果您不知道前缀或后缀......您只需要ID号:

var id_number = html_id.replace(/\D+/,""); // Remove all non-digit characters

将导致:

var html_id = "slide_item_3"  // 3  
var html_id = "foo45bar"      // 45
var html_id = "1-item-X"      // 1
var html_id = "1-item-2"      // 12 (take care of such cases!)