this.value 和oButton[i].value的区别
<!DOCTYPE html>
<html>
<head>
<title>calculator</title>
<link rel="stylesheet" type="text/css" href="cal.css">
<script type='text/javascript' src='cal.js'></script>
</head>
<body onload="cal_1()">
<div id="div1">
<div id='div2'>
<input type="text" name="" id='text_o'>
</div>
<div id='div3'>
<input type="button" value="C" name="" id="">
<input type="button" value="←" name="" id="">
<input type="button" value="+/-" name="" id="">
<input type="button" value="/" name="" id="">
<input type="button" value="1" name="" id="">
<input type="button" value="2" name="" id="">
<input type="button" value="3" name="" id="">
<input type="button" value="×" name="" id="">
<input type="button" value="4" name="" id="">
<input type="button" value="5" name="" id="">
<input type="button" value="6" name="" id="">
<input type="button" value="-" name="" id="">
<input type="button" value="7" name="" id="">
<input type="button" value="8" name="" id="">
<input type="button" value="9" name="" id="">
<input type="button" value="+" name="" id="">
<input type="button" value="0" name="" id="">
<input type="button" value="." name="" id="">
<input type="button" value="=" name="" id="">
<input type="button" value="M" name="" id="">
</div>
</div>
</body>
</html>
js:
function cal_1(){
//
var num=document.getElementById('text_o');
num.value=0;
num.disabled='disabled';
//
var oButton=document.getElementsByTagName('input');
for(var i=0; i<oButton.length; i++){
oButton[i].onclick=function(){
alert(this.value);
}
}
}
css:
*{
margin: 0px;
padding: 0px;
}
div{
width: 611px;
}
#div1{
position: absolute;
left: 33%;
top: 30%;
}
input[type='button']{
width: 100px;
height: 50px;
margin-right: 49px;
margin-top: 40px;
font-size: 40px;
}
input[type='text']{
width: 560px;
height: 50px;
text-align: right;
font-size: 40px;
background-color: #fff;
border: 1px solid;
}
红框内为什么不能是oButton[i].value,如果是oButton[i].value的话不能输出提示
正在回答
同学,你好。当执行第一次循环i=0时,即oButton[0]得到第一个元素,给该元素绑定click事件,当触发该事件时,会执行函数中的内容,此时,this可以理解为oButton[0],因此写oButton[i].value是会报错的,oButton[i]是不存在的。当i=1时,this表示为oButton[1],以类此推,在for循环中,获取到哪个对象,this表示为哪个对象。
如果我的回答解决了您的疑惑,请采纳!祝学习愉快~~~~
- 参与学习 人
- 提交作业 218 份
- 解答问题 3562 个
本阶段带你用Python开发一个网站,学习主流框架Django+Flask是Python Web开发的第一步,在基础知识上实现积分商城的项目开发,体验真实的项目开发流程,提高解决编程问题和效率的能力。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星