Javascript 在jQuery中循环按钮单击事件
这个循环似乎不起作用,我不确定哪里出了问题,但希望能得到任何帮助Javascript 在jQuery中循环按钮单击事件,javascript,jquery,html,Javascript,Jquery,Html,这个循环似乎不起作用,我不确定哪里出了问题,但希望能得到任何帮助 var j=0; 对于(j=0;j
var j=0;
对于(j=0;j<10;j++){
$('#btn-'+j)。单击(函数(){
警惕(j);
});
}
一个
两个
三
四个
这是因为循环在运行,当你点击按钮时,j
等于10
。由于您的值来自按钮的ID,因此您可以利用它:
var j=0;
对于(j=0;j<10;j++){
$('#btn-'+j)。单击(函数(){
警报($(this.attr(“id”).split(“btn-”)[1]);
});
}
一个
两个
三
四个
您可以从当前目标元素中获取id
,并解析出索引
for(让index=0;index<4;index++){
$(“#btn-”+索引)。单击(函数(e){
var value=parseInt(例如target.id.replace(/[\D+]/g',),10);
警报(值);
});
}
一个
两个
三
四个
如果在函数中进行事件绑定,则会得到一个保留该值的闭包
var j=0;
对于(j=0;j<10;j++){
addClick(j);
}
函数addClick(j){
$('#btn-'+j)。单击(函数(){
警惕(j);
});
}
一个
两个
三
四个
试试这个
$( "button[id^=btn]" ).each(function(index) {
$(this).on("click", function(){
var idvalue = $(this).attr('id');
//alert(index);
//or
idvalue = idvalue.replace("btn-","");
alert(idvalue);
});
});
它是关于函数范围和块范围的 只需使用
let
在for循环中声明i
//var j=0;如果我的答案解决了你的问题,请点击我答案左边的灰色勾号,将其标记为已接受。这是我试图想到的,但想不起来!让我来!我需要睡觉