我的页面上有一个按钮,其中包含comment_like
类和ID 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
});
答案 0 :(得分:91)
你可以这样:
var suffix = 'comment_like_123456'.match(/\d+/); // 123456
关于按钮:
$('.comment_like').click(function(){
var suffix = this.id.match(/\d+/); // 123456
});
答案 1 :(得分:12)
在您的点击处理程序中:
var number = $(this).attr('id').split('_').pop();
答案 2 :(得分:4)
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);
答案 3 :(得分:3)
这是一个普通的正则表达式的任务,它与jQuery无关:
"comment_like_123456".match(/\d+/)
=> ["123456"]
答案 4 :(得分:2)
jQuery不是一个神奇的子弹。使用Javascript!
var temp = "comment_like_123456".split("_")
alert(temp[2])
答案 5 :(得分:1)
只需获取ID并通过正则表达式运行。
$(mybutton).click(function() {
var num = parseInt(/^.*\_(\d+)$/.exec(this.id)[1])
});
答案 6 :(得分:1)
你可以试试这个。它将从任何类型的字符串中提取所有数字。
var suffix = 'comment_like_6846511';
alert(suffix.replace(/[^0-9]/g,''));
<强> {{3}} 强>
答案 7 :(得分:0)
这是使用jquery从字符串中获取数字的最简单方法。
$(function(){
$('.comment_like').click(function() {
var element_id = $(this).attr('id');
var number = element_id.match(/\d+/);
alert(number);
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<button class='comment_like' id='comment_like_123456'>Click Me To Get a number from string</button>