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]);
});代码>
单击我
假设sampleitem-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);
});代码>
点击我用数字对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>