Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/477.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在jQuery中循环按钮单击事件_Javascript_Jquery_Html - Fatal编程技术网

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;如果我的答案解决了你的问题,请点击我答案左边的灰色勾号,将其标记为已接受。这是我试图想到的,但想不起来!让我来!我需要睡觉