Javascript 通过类名获取ID

Javascript 通过类名获取ID,javascript,jquery,Javascript,Jquery,我有这个元素: <div class="item item-id-123"></div> 也许我可以使用.match()获取类名,然后从中去掉项目id-,这样我们就剩下123了。。。?这里的适当方法是什么?如果您的结构始终是: <div class="item item-id-123"></div> 点击我 如果不确定类在属性中的位置,可以使用正则表达式 $(文档).on('click','item',function()){ consol

我有这个元素:

<div class="item item-id-123"></div>

也许我可以使用
.match()
获取类名,然后从中去掉
项目id-
,这样我们就剩下
123
了。。。?这里的适当方法是什么?

如果您的结构始终是:

<div class="item item-id-123"></div>

点击我

如果不确定
类在属性中的位置,可以使用正则表达式

$(文档).on('click','item',function()){
console.log(/item id-(\d+)/.exec($(this.attr('class'))[1]);
});


单击我
假设sample
item-id-123
,您可以拆分类名并使用正则表达式获取数字部分

这种方法在找到匹配项时打破了循环

$(文档).on('click','item',function()){
变量名称=$(this.attr('class').split(/\s+/);
变量id;
for(名称的变量名称){
var aux;
如果((aux=name.replace(/[^\d]+/,“”).trim())!=“”){
id=aux;
打破
}
}
console.log(id);
});


点击我
$(文档).on('click','.item',function()){
console.log($(this.attr(“class”).match(/\d+/)[0]);
});


单击
这是@Zenoo答案的替代方案,只是没有正则表达式

$(文档).on('click','item',function()){
console.log($(this.attr('class')).split(“项目id-”[1]。split(”[0]);
});


单击我
为什么要这样做
@RadonirinaMaminiaina我无法更改HTML。如果后面还有其他类呢?@Zenoo看起来是一个有效点。然后,我会看看是否可以提供一个不同于您的解决方案。使用@Zenoo的解决方案,但感谢您提供的替代方案。如果其他类包含数字呢?@Zenoo我已经说过:这种方法在找到匹配项时会打破循环。
<div class="item item-id-123"></div>