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); }}不知道这样参数能传递进去不
展开
3个回答
展开全部
看了你的问题,感觉你没有理解变量的作用域。
你循环完毕后,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???
}
<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>
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>
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询