js for循环取值,alert(i)始终是3,怎么才能让button分别显示1,2,3,function(){}怎么才能取到对应的i值

<!DOCTYPEhtml><html><head><metacharset="utf-8"><title>abc</title></head><body><inputc... <!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>abc</title>
</head>
<body>
<input class="btn" type="button" />
<input class="btn" type="button" />
<input class="btn" type="button" />
<script>
for(var i=0;i<3;i++){
document.getElementsByClassName("btn").item(i).onmousedown=function(){
alert(i);
};
}
</script>
</body>
</html>
展开
 我来答
yugi111
推荐于2016-01-08 · TA获得超过8.1万个赞
知道大有可为答主
回答量:5.1万
采纳率:70%
帮助的人:1.3亿
展开全部
for (var i = 0; i < 3; i++) {
    (function(i) {
        document.getElementsByClassName("btn").item(i).onmousedown = function() {
            alert(i);
        }
    })(i);
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式