所以我一直在尝试创建一个函数,可以将this.courses
中的所有数据推送到具有FetchAll
属性的表体中,但由于某种原因,我继续在我的内容中出现此错误FetchAll
中的window.onload
功能:
无法设置undefined
的innerHTML
但是,当我没有使用window.onload
并将app.FetchAll()
放在应用范围之外时,在正文底部运行脚本,我可以完全访问{{1} }。
这里发生了什么?
this.el
答案 0 :(得分:3)
这不是范围问题,只是在浏览器解释HTML文档时发生的事情。创建app
对象的初始化代码在浏览器构建DOM之前运行。因此,.getElementById()
来电正在返回null
。
当您将代码移动到<body>
的末尾时,它会起作用,因为在这种情况下代码运行时(主要)构造了DOM。
如果您的代码位于底部,则可以在“加载”处理程序中放置对FetchAll()
的调用。如果将 all 代码(包括app
对象的构造)放入“load”处理程序,那也可以。