Jquery:从ID获取数字
你在另一个问题中提到了这一点: jquery从id中获取数字
您应该养成在属性名称中使用分隔符的习惯(即button-1,button_1)。 许多优点之一是它可以更容易地从字段中提取数字或其他信息(即,通过将字符串拆分为“ – ”)。
如果在属性名称中使用分隔符,如何提取数字?
谢谢!
-
.attr('id')
可用于检索ID属性。 - 然后,使用
.split
函数通过分隔符拆分字符串。 - 从索引
[1]
获取数字。
码:
var delimiter = '-'; var num = $("element").attr('id').split(delimiter)[1]; // Expected format: - // Note that is not necessarily a number
以前的方法非常依赖于id格式。 一个更坚实的方法是正则表达式:
var num = /\d+/.exec($("element").attr('id')); // Selects all consecutive digits // Examples: // button_1 = 1 button2 = 2 1st = 1 button4--5 = 4
要匹配末尾的数字,请使用:
var num = /\d+(?=\D*$)/.exec($("element").attr('id'));
将selector
和delimiter
替换为实际值。
var parts = $('#selector').attr('id').split('delimiter'); var my_number = parts[parts.length - 1]; alert(my_number);
正如其他人已经建议你可以非常简单地分享supn或下划线,使用:
var number = str.split("-")[1]
jQuery split()文档
这里另一个可行的选择是使用正则表达式模式提取数字。 如果您从中提取数字的字符串没有分隔符,这将非常有用。 我没有在我的特定编码风格中使用分隔符,所以我使用的是:
var number = str.match(/\d+/);
jQuery match()文档