Fro*_*art 6 html javascript dom
如果DOMContentLoaded将script带有相应JS文件的标签放在标签末尾,我应该等待事件body吗?
index.html
<!DOCTYPE HTML>
<html>
<head>
<link rel="stylesheet" type="text/css" href="popup.css">
</head>
<body>
<div id="container"></div>
<script src="popup.js"></script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
popup.js
document.addEventListener('DOMContentLoaded', onDOMContentLoaded);
Run Code Online (Sandbox Code Playgroud)
基本上没有 如果脚本修改了元素,则该元素必须存在。
如果将脚本放在该元素之后,则该脚本存在。
如果将它放在“之前”,则它不存在,您可能要使用DOMContentLoaded等待脚本执行,直到确定它存在为止。
<div id="myid"></div>
<script>
getElementById('myid'); // it will work, Element myid Is defined
<script>
Run Code Online (Sandbox Code Playgroud)
但是这个
<script>
getElementById('myid'); // it will fail, it's not yet defined, it will be
// Using DomContentLoaded here would be requrired
<script>
<div id="myid"></div>
Run Code Online (Sandbox Code Playgroud)