Sou*_*Das 2 html javascript html5 dom
我有一个简单的JS函数,可以将文本行加载到无序列表.
使用Javascript
function loadText() {
document.getElementById("text1").innerHTML = "Text1";
document.getElementById("text2").innerHTML = "Text2";
document.getElementById("text3").innerHTML = "Text3";
}
window.onload = loadText;
Run Code Online (Sandbox Code Playgroud)
HTML
<ul id="textlist">
<li id="text1"></li>
<li id="text2"></li>
<li id="text3"></li>
</ul>
Run Code Online (Sandbox Code Playgroud)
这实际上适用于浏览器(Chrome),但是当我使用window.onload = loadText();而不是window.onload = loadText;.我收到错误:
未捕获的TypeError:无法设置null的属性'innerHTML'
我认为这是因为DOM没有被读取所以我尝试了,但是在那里遇到了同样的问题.然而,改window.onload = loadText();回去window.onload = loadText;再次工作.
我觉得这有点奇怪,这会引起不同.我在这里错过了什么吗?
小智 5
window.onload = loadText();
Run Code Online (Sandbox Code Playgroud)
这会立即执行loadText并将其返回值存储在window.onlad中
window.onload = loadText;
Run Code Online (Sandbox Code Playgroud)
这使得window.onload引用了loadText函数.现在调用window.onload()与调用loadText()相同