问答详情
源自:2-2 DOM0级事件处理程序

DOM0级事件处理

<!DOCTYPE html>

<html>

<head>


<title>button</title>

</head>

<script>


    var bt = document.getElementById('btn');

    bt.onclick = function(){

      alert('hhh');

    }

</script>

<body>

<div>

<input type="button" value="aaa" id="btn" >

</div>


</body>

</html>

代码跟老师写的一模一样还报这个错误 ,这是为什么 Uncaught TypeError: Cannot set property 'onclick' of null

提问者:ekberrr 2017-08-24 00:30

个回答

  • 又报错了T_T
    2017-08-30 15:38:43

    你将js写在body前面会导致    btn还没有生成的时候   js就调用了   这时候找不到BTN对象  就报错了   将js放到body后面书写即可


    <!DOCTYPE html>

    <html>

    <head>


    <title>button</title>

    </head>


    <body>

    <div>

    <input type="button" value="aaa" id="btn" />

    </div>


    </body>

    <script>


        var bt = document.getElementById('btn');

        bt.onclick = function(){

          alert('hhh');

        }

    </script>

    </html>



  • 行星饭
    2017-08-24 09:58:51

    http://img.mukewang.com/599e32170001c35e04190451.jpg加上window.onload = function(){把你的代码放进去};原因:浏览器加载的时候按照顺序执行,当执行到你的js代码时,找不到你要操作的元素,就会报错,然后影响之后的操作.一般情况下,js都会放在html代码之后执行.