jquery / JS定位

时间:2011-01-08 19:06:32

标签: jquery jquery-selectors

我要承认我不知道什么是最好的。

通常,我将jquery库放在网页的头部。我为任何jquery插件或javascript函数做同样的事情。

我很好奇的是放置选择器的位置。 在底部,在结束身体标记之前。或者在站点代码之前。

示例:

<div id="somediv">stuff inside</div>
<script language="javascript" type="text/javascript">
$(function (){ 

  $("#somediv").hide();

});
</script>

如您所见,我将选择器放在html下面。我已经看到了两种方式,但我很好奇是否有最佳方式。并且对于所有与javascript相关的函数和插件也是如此。

我之所以这样,是因为有时IE会抱怨放置。虽然其他浏览器似乎更宽容,或者不在乎。

3 个答案:

答案 0 :(得分:1)

如果您将选择器放在:

$(function() {
     // my DOM selection
});

...然后无关紧要,因为这是调用jQuery's .ready() method的快捷方式,可确保在内部代码运行之前加载DOM元素。

如果您的代码在元素之后定位,那么您可以不使用.ready()

另一个选择是将代码放在window.onload处理程序中。这样做的缺点是它需要等待所有内容(包括图像)在运行之前加载。可能不是所期望的。

答案 1 :(得分:0)

如果你在document.ready处理程序中使用它,那么这两种情况都有效,就像你已经拥有$(function (){ ... });一样。 没有包装器,你放在元素后面,例如在<body>

的末尾

在任何一种情况下,请确保在 jQuery之后发生<script>(并且包含任何代码需要的插件)。

答案 2 :(得分:0)

两者都可以正常工作但如果你的页面变得复杂,它可能看起来缓慢加载并且看起来很迟钝;因此,如果变量范围不是问题,您可以考虑placing scripts at the bottom页面,这意味着导入jQuery,然后在$(function(){})中触发其余脚本