javascript - 什么时候将 Javascript 放在 body 中,什么时候放在 head 中,什么时候使用 doc.load ?

标签 javascript jquery location head document-body

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/

相关文章:

快速适配注释

ios - 在 Firebase/Swift 中检索 5 个最近的用户的数据量最少的方法?

javascript - d3 从点数组渲染多边形

Javascript 对象碰撞

javascript - 使用 JQuery 和 append() 将包含带空格的文本的数组添加到 TextArea 中

javascript getElementById 开头

jquery - 滑动悬停菜单文本切换不适合

javascript - .prop ("enabled",真): not working

Android操作栏位置和蓝线?

javascript - 谷歌地图无法在网站内运行