<input type="button" value="button1" />
<input type="button" value="button2" />
<input type="button" value="button3" />
<input type="button" value="button4" />
<input type="button" value="button5" />
<input type="button" value="button6" />
<input type="button" value="button7" />
<script language="javascript">
var el=document.getElementsByTagName("input");
for(var i=0;i<el.length;i++){
el[i].onclick=function(){alert(i)}
}
</script>
我的本意是想点击Button时分别弹出0,1,2,3,4,5,6,但是现在我点击的时候老是弹出7,这是为什么?
<input type="button" value="button2" />
<input type="button" value="button3" />
<input type="button" value="button4" />
<input type="button" value="button5" />
<input type="button" value="button6" />
<input type="button" value="button7" />
<script language="javascript">
var el=document.getElementsByTagName("input");
for(var i=0;i<el.length;i++){
el[i].onclick=function(){alert(i)}
}
</script>
我的本意是想点击Button时分别弹出0,1,2,3,4,5,6,但是现在我点击的时候老是弹出7,这是为什么?
<input type="button" value="button1" />
<input type="button" value="button2" />
<input type="button" value="button3" />
<input type="button" value="button4" />
<input type="button" value="button5" />
<input type="button" value="button6" />
<input type="button" value="button7" />
<script language="javascript">
var el=document.getElementsByTagName("input");
for(var i=0;i <el.length;i++){
el[i].onclick=function(a){
return function(){alert(a+1)};
}(i)
}
</script>
el[i].onclick=function(a){
return function(){alert(a+1)};
}(i)
的时候a已经为length值了
<input type="button" value="button2" />
<input type="button" value="button3" />
<input type="button" value="button4" />
<input type="button" value="button5" />
<input type="button" value="button6" />
<input type="button" value="button7" />
<script language="javascript">
var el=document.getElementsByTagName("input");
for(var i=0;i <el.length;i++){
el[i].onclick=function(){
alert(this.value);
}
}
</script>