Ответ 1
Вы можете сделать это следующим образом:
var suffix = 'comment_like_123456'.match(/\d+/); // 123456
Что касается кнопки:
$('.comment_like').click(function(){
var suffix = this.id.match(/\d+/); // 123456
});
У меня есть кнопка на моей странице с классом comment_like
и идентификатором типа comment_like_123456
, но числа в конце являются переменными; может быть от 1 до 1000000.
Когда эта кнопка нажата, мне нужно захватить конечный номер, чтобы я мог запускать задачи для других элементов с тем же суффиксом.
Есть ли простой способ захватить это число в jQuery?
$('.comment_like').click(function() {
var element_id = $(this).attr('id');
// grab number from element ID
// do stuff with that number
});
Вы можете сделать это следующим образом:
var suffix = 'comment_like_123456'.match(/\d+/); // 123456
Что касается кнопки:
$('.comment_like').click(function(){
var suffix = this.id.match(/\d+/); // 123456
});
В обработчике кликов:
var number = $(this).attr('id').split('_').pop();
Это задача для простых регулярных выражений, она не имеет ничего общего с jQuery:
"comment_like_123456".match(/\d+/)
=> ["123456"]
var x = 'comment_like_6846511';
var y = '';
for (i = 0; i < x.length; i++)
{
if ("" + parseInt(x[i]) != "NaN") //if the character is a number
y = y + x[i];
}
document.write(y);
jQuery - не волшебная пуля. Используйте Javascript!
var temp = "comment_like_123456".split("_")
alert(temp[2])
Просто введите id и запустите его через регулярное выражение.
$(mybutton).click(function() {
var num = parseInt(/^.*\_(\d+)$/.exec(this.id)[1])
});