理想情况下,将您的包含移动myjs.js
到页面底部(就在结束</body>
标记之前或之后)。那么它只是:
document.getElementById("abc").innerText = /* ...the text */;
实例| 资源
如果由于某种原因无法移动包含,您可以将上述代码放在一个函数中,例如:
function updateTheLabel() {
document.getElementById("abc").innerText = /* ...the text */;
}
...然后将此脚本放在标签之后:
<label id="abc"></label>
<script>
updateTheLabel();
</script>
实例| 资源
如果您不想这样做(而且有点难看,将脚本标签混合到您的标记中),您可以等待页面准备就绪时发生的某种事件。搜索“javascript dom ready event”,你会看到很多关于这个的讨论,以及很多解决方案。如果您使用库jQuery、Prototype或任何其他库,那么库将为您提供某些东西的可能性很高(但不是 100%)。您可能不想等待该window
load
事件,因为它在页面加载过程中很晚才触发(在加载所有外部资源 - 图像等 - 之后)。
(如果不知道您正在使用什么库(如果有的话),就无法做上述的活生生的例子;但同样,那里有几十个“dom ready”解决方案。)
或者我想最坏的情况,你可以投票,在myjs.js
:
function updateTheLabel() {
var elm = document.getElementById("abc");
if (elm) {
elm.innerText = /* ...the text */;
}
else {
setTimeout(updateTheLabel, 50);
}
}
setTimeout(updateTheLabel, 0);
实例| 资源