总是报错,不知道怎么解决
function byId(id){ return typeof(id) === "string"?document.getElementById(id):id; } //全局变量 var index=0,timer=null, pics=byId("banner").getElementsByTagName("div"), len=pics.length; console.log(len); pictureGun.js:8 Uncaught TypeError: Cannot read property 'getElementsByTagName' of null
34
收起
正在回答
2回答
同学你好,这里是因为浏览器加载html是从上到下进行加载的,如果将js代码编写在head标签中,这样就会首先加载js代码,然后在js中获取id为banner的元素,但由于html的下面的标签还没有被浏览器加载到,所以会报错,获取为空。
而如老师一样将js的代码编写在body结束标签上面,则就可以避免 js 代码操作 HTML 元素时,HTML 元素还未载入而失效的问题。如:
如果我的回答解决了你的疑惑,请采纳!祝学习愉快!
2. 从网页搭建入门JavaWeb
- 参与学习 人
- 提交作业 676 份
- 解答问题 9666 个
本阶段将从前端网页搭建入手,到Java Web基础,前后端结合助你完成Java Web小白的蜕变!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星