jquery get number from id

Deadly 提交于 2019-12-28 04:02:05

问题


how can i get the number from a div tag's id?

example:

<div id="button1"></div>

how can i get the 1 and store it in a variable?


回答1:


var id = $("div").attr('id').replace(/button/, '');



回答2:


Your "id" values cannot be purely numeric; they need to start with a letter or "_" like an identifier. (Note: that's not true in HTML5 documents.) Once you've got a number in your "id" value like that, you would just use the jQuery attr() function to get the id:

 var theId = parseInt($('div.whatever').attr('id').replace(/[^\d]/g, ''), 10);



回答3:


// replace all non-digits with nothing
alert($('div').attr("id").replace(/\D/g,''));

If you like, you can just grab the numbers at the end:

// <div id="_34_foo_555"></div>
alert($('div').attr("id").match(/\d+$/));
// alerts "555"



回答4:


If button is a constant prefix, you can do this:

var number = parseInt(element.id.match(/^button(\d+)$/)[1], 10);



回答5:


You should get in the habit of using delimiters in your attribute names (ie, button-1, button_1). One of the advantages, of many, is that it makes it easier to extract a number, or some other information, from the field (ie, by splitting the string at '-').




回答6:


This is an old question, but I'd like to add the idea of using a data- attribute rather than encoding information in an id:

window.onload = function() {
  var element = document.getElementById('button1');
  var number = parseInt(element.getAttribute('data-index'), 10);
  console.log(number);
}
<button id="button1" data-index="1"></button>

This way you don't need to go through all of the matching and whatnot.



来源:https://stackoverflow.com/questions/2427853/jquery-get-number-from-id

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!