我有以下html:
<button type="button" id="step-1">step1</button>
<button type="button" id="step-2">step2</button>
<button type="button" id="step-3">step3</button>
<button type="button" id="step-4">step4</button>
我想从id获得1,2,3,4的数字。所以像这样使用:
$('[id^=step]').on('click',function(){
var stepbg = parseInt($(this).attr('id'),10);alert(stepbg);
});
但它警告NaN。 demo
答案 0 :(得分:2)
您可以简单地使用$(this).attr('id')
。
this.id
尝试这样,
$('[id^=step]').on('click', function () {
var stepbg = parseInt(this.id.replace(/\D/g, ''));
alert(stepbg);
});
的 SEE THIS FIDDLE DEMO 强>
答案 1 :(得分:1)
您可以使用split()
$('[id^=step]').on('click',function(){
var stepbg = parseInt($(this).attr('id').split("-")[1],10);alert(stepbg);
});
你也可以使用替换功能
$('[id^=step]').on('click',function(){
var stepbg = parseInt($(this).attr('id').replace('step-','')); alert(stepbg);
});
这是另一个正则表达式示例
$('[id^=step]').on('click',function(){
var stepbg = parseInt($(this).attr('id').match(/\d+$/)[0], 10); alert(stepbg);
});
答案 2 :(得分:0)
答案 3 :(得分:0)
在jquery中使用split()。
$('[id^=step]').on('click',function(){
var stepbg = parseInt($(this).attr('id').split("-")[1] ,10);
alert(stepbg);
});
答案 4 :(得分:0)
你可以用你不想要的空字符串替换id中的字符串,并从中获取数字。
<强> Live Demo 强>
$('[id^=step]').on('click',function(){
var stepbg = parseInt(this.id.replace('step-',''));
});
答案 5 :(得分:0)
尝试 split()
:
arr = $(this).attr('id').split('-');//split to array
stepbg = parseInt(arr[arr.length-1]); //get last element
alert(stepbg);
答案 6 :(得分:0)
说明:这是快速而又脏的,我建议使用正则表达式或拆分来获得更好的生产示例。
$('[id^=step]').on('click',function(){
var stepbg = parseInt($(this).attr('id').substring(5), 10);
alert(stepbg);
});
答案 7 :(得分:0)
尝试下面给出的代码:
$('[id^=step]').on('click',function(){
var id =$(this).attr('id').replace(/step-/, '');
alert(id)
});
答案 8 :(得分:0)
$('[id^=step]').on('click',function(){
var stepbg = $(this).attr('id').split('-');
alert(stepbg[1]);
});