как я могу получить номер из идентификатора тега div?
пример:
<div id="button1"></div>
как я могу получить 1 и сохранить его в переменной?
как я могу получить номер из идентификатора тега div?
пример:
<div id="button1"></div>
как я могу получить 1 и сохранить его в переменной?
Ваши значения "id" не могут быть чисто числовыми; они должны начинаться с буквы или «_», как идентификатор. (Примечание: это неверно в документах HTML5.) Как только у вас есть такое число в значении "id", вы просто используете функцию jQuery attr() для получения идентификатора:
var theId = parseInt($('div.whatever').attr('id').replace(/[^\d]/g, ''), 10);
// replace all non-digits with nothing
alert($('div').attr("id").replace(/\D/g,''));
Если хотите, можете просто взять цифры в конце:
// <div id="_34_foo_555"></div>
alert($('div').attr("id").match(/\d+$/));
// alerts "555"
Если button является постоянным префиксом, вы можете сделать это:
var number = parseInt(element.id.match(/^button(\d+)$/)[1], 10);
Вы должны выработать привычку использовать разделители в именах атрибутов (например, button-1, button_1). Одним из многих преимуществ является то, что это упрощает извлечение числа или какой-либо другой информации из поля (т. е. путем разделения строки по '-').
Это старый вопрос, но я хотел бы добавить идею использования атрибута data- вместо кодирования информации в идентификаторе:
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>
Таким образом, вам не нужно проходить через все сопоставления и еще много чего.