Possible Duplicate:
Where to place Javascript in a HTML file?
Should I write script in the body or the head of the html?
我一直想知道,主要是因为在创建页面时我总是遇到麻烦,基于以下事情:
你什么时候写你的javascript
- 在
<head>
- 在
<body>
- 带有
$(document).ready()
我可能很愚蠢,但我有几次因为错误的位置或是或否而没有执行我的 JavaScript (/jQuery) doc.ready()
命令。所以我真的很想知道。
同样适用于 jQuery 和“var”命令
最佳答案
$(document).ready()
只需确保在加载 JavaScript 之前加载所有 DOM 元素即可。
当无关紧要的时候
如果不等待此事件触发,您最终可能会操作页面上尚不存在的 DOM 元素或样式。 DOM 就绪事件还允许您更灵活地在页面的不同部分运行脚本。例如:
<div id="map"></div>
<script type="text/javascript">document.getElementById('map').style.opacity = 0;</script>
将运行,因为 map div 已在脚本运行之前加载。事实上,你可以得到一些pretty good performance improvements将脚本放置在页面底部。
当它确实重要时
但是,如果您正在 <head>
中加载脚本元素,您的大部分 DOM 尚未加载。这个例子不会工作:
<script type="text/javascript">document.getElementById('map').style.opacity = 0;</script>
<div id="map"></div>
不会,因为 map div 尚未加载。
安全的解决方案
您只需等待整个 DOM 加载即可避免这种情况:
<script type="text/javascript">$(document).ready(function () {
document.getElementById('map').style.opacity = 0;
});
</script>
<div id="map"></div>
有很多articles解释了这一点,以及 jQuery documentation本身。
关于javascript - 什么时候将 Javascript 放在 body 中,什么时候放在 head 中,什么时候使用 doc.load ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14328449/