外部引入js文件,获取dom全为null (Cannot read properties of null) 外部引入的js文件失效.

在外部引入js文件时,js获取的dom全为null.

 报错:Cannot read properties of null

window对象是JS访问浏览器窗口的一个接口,由于js文件时由外部引入,因此直接引入js文件时,文档内容并未加载(包括图像,脚本文件,CSS文件等),因此此时js获取的dom全为空.

解决办法:

1.将外部引入的js封装在

window.onload = function(){ }

或者

window.addEventListener('load',function(){})

也可以使用document.addEventListener('DOMContentLoaded',function(){})

DOMContentLoaded事件触发时,仅当DOM加载完成,不包括样式表,图片,flash等等,如果页面的图片很多的话,从用户访问到onload触发可能需要较长的时间,交互效果不能实现,影响用户体验,此时用DOMContentLoaded事件比较合适.

load 是等页面内容全部加载完毕,包含页面dom元素 图片 flash css等等,才会去执行

DOMContentLoaded 是DOM加载完毕,不包含图片 falsh css等就可以执行 加载速度比load更快

2.也可以将js的引入放在最下面,即</body>之后,当DOM加载完成之后,才引入js 的文件.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值