Jquery:从ID获取数字

你在另一个问题中提到了这一点: jquery从id中获取数字

您应该养成在属性名称中使用分隔符的习惯(即button-1,button_1)。 许多优点之一是它可以更容易地从字段中提取数字或其他信息(即,通过将字符串拆分为“ – ”)。

如果在属性名称中使用分隔符,如何提取数字?

谢谢!

  1. .attr('id')可用于检索ID属性。
  2. 然后,使用.split函数通过分隔符拆分字符串。
  3. 从索引[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')); 

selectordelimiter替换为实际值。

 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()文档