如何解决外部 JavaScript 文件中 DOM 元素获取失败的问题

当 javascript 代码放在外部 `.js` 文件中时,因执行时机早于 html 解析完成,导致 `getelementbyid` 等方法无法找到元素;将其移入 `window.addeventlistener('load', ...)` 内部可确保 dom 完全加载后再执行。

在 Web 开发中,一个常见却容易被忽视的问题是:同样的 JavaScript 代码,在 。根本原因在于 脚本执行时机与 DOM 加载顺序的不匹配

你的原始代码如下:

var loader = document.getElementById("ld");
window.addEventListener("load", function() {
  loader.style.display = "none";
});

问题出在第一行:document.getElementById("ld") 在脚本加载时立即执行,而此时

尚未被浏览器解析(因为你的 标签位置:当前你将其放在 内,虽可通过事件监听修复,但更推荐将脚本标签移至