javascript onclick=function()参数

我得语句是这样的for(vari=0;i<3;i++){varbutton=document.getElementById('button_'+i);button.onc... 我得语句是这样的for(var i=0; i<3; i++){ var button=document.getElementById('button_'+i); button.onclick = function(){ alert(i); }}但是当点击三个按钮时候弹出的提示框都是2于是我又想这样for(var i=0; i<3; i++){ var button=document.getElementById('button_'+i); button.onclick = function(i){ alert(i); }}不知道这样参数能传递进去不 展开
 我来答
观影哔哔机
2017-06-16 · TA获得超过121个赞
知道答主
回答量:91
采纳率:66%
帮助的人:24.7万
展开全部

看了你的问题,感觉你没有理解变量的作用域。

你循环完毕后,i就是取最后一个数值了,按照你的写法你无论点击哪个按钮 都应该提示是3.

因为这个时候 i 的值就是3.

所以 你要实现点击不同的按钮 显示不用等数字,需要把i的值绑定到某个对象上。在这里可以绑定到3个按钮上。我不太会说,我写了一段代码 你自己看一下吧。

<button id="button_0">0</button>
<button id="button_1">1</button>
<button id="button_2">2</button>
<script type="text/javascript">
 for(var i=0; i<3; i++){ 
  var button=document.getElementById('button_'+i); 
  button.setAttribute("bianhao",i);
  button.onclick = function(){ 
  var h  = this.getAttribute("bianhao");
  alert(h); 
  }
 }

</script>
匿名用户
推荐于2017-06-16
展开全部
在button里面写onclick吧
<input type="button" id="button1" onclick="btnClick(document.getElementById(this))"/>
function btnClick(id){
alert???
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-09-10
展开全部
<script type="text/javascript">
for(var i=0; i<3; i++){ var button=document.getElementById('button_'+i);
button.setAttribute("i", i);
button.onclick = function(){ alert(this.getAttribute("i")); }}</script>
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式