onchange里this的指向

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呢?

正在回答

登陆购买课程后可参与讨论,去登陆

1回答

同学你好, 这个是规定哦。简单理解就是select标签上没有value值,通过value获取的就是当前显示的opation标签的value值

onchange事件表示在元素值发生改变的时候触发的事件。给select绑定onchange事件后,下拉框发生改变的时候就会触发该事件。 this.value 获取的就是选中的option的value值。

如果帮助到了你, 欢迎采纳!

祝学习愉快~~~

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师