我已将我的script.js文件链接到我的index.html文件,并且两个文件都位于同一目录中。我已经在该节中链接了那个script.js文件,但是当我打开控制台时它却无法正常工作
script.js:2 Uncaught TypeError: Cannot read property 'getElementsByTagName' of null
但是只要我在该部分的最后部分中完美地链接了该文件,即使将该文件放在第一个部分中也无法正常工作。
inde.html:
<!DOCTYPE html>
<html lang="en">
<head>
<script src="script.js"></script>
<meta charset="UTF-8">
<title>Sample</title>
</head>
<body>
<p id="name">
<span>john</span>
</p>
</body>
</html>
script.js:
var result = document.getElementById("name");
var final = result.getElementsByTagName("span");
console.log(final);
只要在DOM加载后尝试在DOM中查找元素的逻辑,脚本就可以发挥作用。
由重复项覆盖,使用准备好的文档或窗口上的加载事件处理程序可以将任何逻辑置于头部,而不必担心尚未加载DOM,因为它们会延迟执行DOM。逻辑直到加载DOM。
谢谢@taplar