$(document).ready()
只是确保加载你的JavaScript之前,所有的DOM元素被加载。
当不要紧
无需等待该事件,火灾,你可能最终操纵DOM元素或样式尚未在页面上存在。 DOM就绪事件还允许您更灵活地在页面的不同部分上运行脚本。例如:
<div id="map"></div>
<script type="text/javascript">document.getElementById('map').style.opacity = 0;</script>
将运行,因为地图div已在脚本运行之前加载。实际上,通过将脚本放置在页面的底部,您可以获得一些pretty good performance improvements。
当事情确实
但是,如果要加载在<head>
元素脚本,大部分的DOM还没有加载。此示例不起作用:
<script type="text/javascript">document.getElementById('map').style.opacity = 0;</script>
<div id="map"></div>
不会,因为地图div尚未加载。
一个安全的解决方案
您可以通过避免这个只需等到整个DOM加载:
<script type="text/javascript">$(document).ready(function() {
document.getElementById('map').style.opacity = 0;
});
</script>
<div id="map"></div>
有很多articles解释这一点,还有jQuery documentation本身。
那么'var'是一件事情,是严重不像其他人... – Pointy
请参阅[这个答案](http://stackoverflow.com/a/10661977/575527) – Joseph
要尖,我见过[var ]也写在头部和身体,所以我想知道是否有任何分歧。 Mark Schultheiss,我问的是差异,而不是一段文字应该在头还是身体。这有点不同。谢谢,不过。 –