Как я могу получить номер из идентификатора тега div?jquery get number from id
пример:
<div id="button1"></div>
, как я могу получить 1 и сохранить его в переменной?
Как я могу получить номер из идентификатора тега div?jquery get number from id
пример:
<div id="button1"></div>
, как я могу получить 1 и сохранить его в переменной?
var id = $("div").attr('id').replace(/button/, '');
Ваши значения «id» не могут быть чисто цифровыми; им нужно начинать с буквы или «_», как идентификатор. (Примечание: это не так в HTML5 документов.) После того, как вы получили номер в вашем «ID» значение, как это, вы бы просто использовать функцию JQuery attr()
, чтобы получить идентификатор:
var theId = parseInt($('div.whatever').attr('id').replace(/[^\d]/g, ''), 10);
Могу я задать вопрос. что означает/[^ \ d]/g? –
Это регулярное выражение. Он соответствует любой цифре с этой частью: «[^ \ d]». «G» в конце сообщает Javascript повторить операцию «replace» для всех нецифровых цифр, которые он находит в строке. – Pointy
Это лучший ответ. Я понятия не имел, что могу использовать parseInt со словами и цифрами. Он отфильтровывает весь текст и просто возвращает номер. Настолько круто, и так легко – mdegges
// 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-
вместо кодирования информации в 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>
Таким образом, вы не» t нужно пройти все соответствия и еще много чего.
большой! вот что мне нужно! спасибо большое спасибо вам, приятель – yosafat