如果我有以下元素:
<div id="ITEM22"></div>
我可以得到这样的id:
$(this).attr('id');
但是,如果 22 ,我怎么能得到这个数字部分?
编辑: ITEM 始终是前缀。
答案 0 :(得分:17)
var thenumber22 = $(this).attr('id').match(/(\d+)/)[1]
答案 1 :(得分:6)
如果您始终拥有前缀ITEM
,那么您可以
var numeric = this.id.replace('ITEM','');
并且@Felix在评论中提及您可以使用+ unary operator MDC docs代替
将其直接转换为可用的数字(而不仅仅是字符串表示)var numeric = +this.id.replace('ITEM','');
此外,我已将$(this).attr('id')
更改为this.id
,因为this
已引用您想要的对象,您可以使用{{1}直接访问其id
属性}
答案 2 :(得分:0)
var whatYouWant = getNo($(this).attr('id'));
function getNo(stringNo)
{
var parsedNo = "";
for(var n=0; n<stringNo.length; n++)
{
var i = stringNo.substring(n,n+1);
if(i=="1"||i=="2"||i=="3"||i=="4"||i=="5"||i=="6"||i=="7"||i=="8"||i=="9"||i=="0")
parsedNo += i;
}
return parseInt(parsedNo);
}
答案 3 :(得分:0)
<div id="ITEM22"></div>
var id = $(this).attr('id');
var numeric_part = id.replace(/[A-Z]+/, ''); //Output : 22
答案 4 :(得分:0)
使用正则表达式
提取字符串的数字部分 var numericPart = id.match(/\d+/);