老师,帮我看看报的错。

老师,帮我看看报的错。

/*这是html文件*/

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8">

<title></title>

<script src="js/common.js" type="text/javascript" charset="utf-8"></script>

</head>

<body>

<div id="nav">我是div</div>

</body>

</html>

</body>

</html>




/*这是js文件*/



var nav01=document.getElementById('nav');


function addHandler(element, type, handler) {

    if (element.addEventListener) {

        element.addEventListener(type, handler, true);

    }

    else if (element.attachEvent) {

        element.attachEvent('on' + type, handler);

    }

    else {

        element['on' + type] = handler;

    }

}

function alertFN(){

alert('hello')

}

addHandler(nav01,'click',alertFN)


正在回答

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

2回答

同学你好,因为代码是自上而下执行的,当同学在js代码里面获取元素时,html结构还没有渲染出来,所以会报错。建议同学将script标签放在html代码下方,或者在js文件里面添加window.onload。参考:

http://img1.sycdn.imooc.com//climg/5df0a07f09ddb5ce12270317.jpg

或者:

http://img1.sycdn.imooc.com//climg/5df0a0b409f0f75607150574.jpg

如果我的回答帮助到了你,欢迎采纳,祝学习愉快~

好帮手慕粉 2019-12-11 13:52:36

同学你好,老师这边运行代码没有报错:

http://img1.sycdn.imooc.com//climg/5df083a8095606c912670313.jpg

建议同学刷新下浏览器试试。另外,同学的html结构最后多写了两个结束标签,同学去掉之后再测试是否正确:

http://img1.sycdn.imooc.com//climg/5df0841f09376f6a04820229.jpg

如果我的回答帮助到了你,欢迎采纳,祝学习愉快~

  • 提问者 星辰1314_520 #1
    老师,我把js文件写在body内没有报错,但是链接到外部js文件就会报错,为啥呢?
    2019-12-11 14:02:00
  • 提问者 星辰1314_520 #2
    请老师回答一下,谢谢
    2019-12-11 15:23:06
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

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