onchange里this的指向
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title>onchange()</title>
<style type="text/css">
#div{
width:300px;
height:300px;
border:2px solid gray;
margin:100px 0 0 200px;
}
</style>
<script type="text/javascript">
//补充代码
window.onload = function(){
var sle = document.getElementById('color'),
div = document.getElementById('div');
sle.onchange = function(event){
console.log(this.innerHTML);
console.log(this.value);
}
}
</script>
</head>
<body>
<div>
<span>请选择您喜欢的颜色:</span>
<select id="color">
<option value="0">请选择</option>
<option value="yellow">黄色</option>
<option value="orange">橘色</option>
<option value="pink">粉色</option>
<option value="purple">紫色</option>
</select>
</div>
<div id="div">我是div</div>
</body>
</html>想问下老师,给select捆绑onchange事件后,在函数中输出this.innerHTML输出了整个select的内容,而输出this.value时则是输出了选中项的value值
所以,捆绑的应该是select,但为什么输出value时输出了选中项的value呢?
0
收起
正在回答
1回答
同学你好, 这个是规定哦。简单理解就是select标签上没有value值,通过value获取的就是当前显示的opation标签的value值
onchange事件表示在元素值发生改变的时候触发的事件。给select绑定onchange事件后,下拉框发生改变的时候就会触发该事件。 this.value 获取的就是选中的option的value值。
如果帮助到了你, 欢迎采纳!
祝学习愉快~~~
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星