Uncaught TypeError: Cannot set properties of null (setting ‘innerHTML’)意思是,
未捕获类型错误:无法设置空属性(设置“innerHTML”),
也就是说**.innerHTM**前的对象内容是空或null。
1、举个例子,我需要用js渲染HTML网页的数据。

报错:
Uncaught TypeError: Cannot set properties of null (setting ‘innerHTML’)
自然是未实现想要的渲染效果。

2、当我将要插入的js文件放在body的后面,错误就解决了

实现了想要的数据渲染效果。

3、浏览器工作原理
由于浏览器解析HTML代码的时候,是自上而下执行的。
将js文件插入HTML头部,解析js代码的时候,无法解析到body里面的代码,因此找不到要操作的数据对象。
此时,需要重新排序,把js代码放在body的后面。(js代码可以放在HTML代码的任意位置)
当尝试使用JavaScript修改一个不存在的DOM元素的innerHTML时,会出现UncaughtTypeError:Cannotsetpropertiesofnull错误。将JS脚本放在body标签之后可以确保在执行时DOM已经加载,从而避免该错误。浏览器自上而下解析HTML,如果JS在head中,可能在尝试访问body内的元素时,这些元素还未被创建。

2519

被折叠的 条评论
为什么被折叠?



