个人而言,我更喜欢第一种语法。
jQuery()
关于常用的安全性问题:
$(document).ready()
对于另一个选择器,我无论如何都会使用$('#id')
。我只是询问第一个.ready
。
个人而言,我更喜欢第一种语法。
jQuery()
关于常用的安全性问题:
$(document).ready()
对于另一个选择器,我无论如何都会使用$('#id')
。我只是询问第一个.ready
。
jQuery
和$
是可以互换的(来自jQuery源代码):
window.jQuery = window.$ = jQuery
但是要小心其他可能也使用 $
的库。至于使用 ready()
:
以下三种语法是等效的:
$(document).ready(handler)
$().ready(handler)(不建议使用)
$(handler)
摘自ready() API。
(function($){
$.fn.oldReady = $.fn.ready;
$.fn.ready = function(fn){
return $.fn.oldReady( function(){ try{ if(fn) fn.apply($,arguments); } catch(e){}} );
}
})(jQuery);
如果你只使用jQuery框架,我建议使用$
语法,特别是ready事件处理的简写版本,因为它更加简洁。这只是个人偏好--我很快就能看出它的作用,并且不会像其他写法那样冗长。你可以选择任何其他形式。
$(function() {
});
noConflict
模式: http://api.jquery.com/jQuery.noConflict/
引用页面中的代码示例:<script type="text/javascript" src="other_lib.js"></script>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$.noConflict();
jQuery(document).ready(function($) { // or jQuery(function($) {
// Code that uses jQuery's $ can follow here.
});
// Code that uses other library's $ can follow here.
</script>
如果您正在开发自己的插件,并且无法确定是否仅使用jQuery框架,则应在内部使用jQuery()
或至少在作用域内明确地将$分配给jQuery对象,以便您知道正在使用什么。
.ready
(或其等效物)以充当jQuery变量的人。 - Explosion Pills使用jQuery
更加"安全",因为它不会与其他框架(如Mootools)发生冲突。如果你只使用jQuery,那么使用$
也没有任何问题。
两个名称$
和jQuery
是同义词。 jQuery
更加明确;如果您使用其他框架,$
可能会被覆盖。
如果将函数作为调用jQuery
函数(或者显然是$
)的第一个参数传递,则将执行该函数完全,就像调用jQuery(document).ready
一样。所以是的,它完全相同。
实际上,所有这些在功能上都是等价的(前提是没有任何其他东西干扰$
):
$(document).ready(function() {});
jQuery(document).ready(function() {});
$(function() {});
jQuery(function() {});
使用哪种方式完全取决于情况和风格。
我个人偏好使用显式的$(document).ready
调用(#1):这段代码将在DOM准备就绪时运行,这一点非常明显。你的偏好(#4)的主要优点是它清楚地表示这是jQuery代码,这对未来阅读你的代码的人可能很有用。
jQuery(document).ready
也很好!但是可能比只有 jQuery();
写起来更冗长。我在这里遇到的困难是因为我来自 PHP,而 $
只用于变量而不是函数。 - dynamic你的问题实际上包含了两个方面。有几种方法可以连接ready
事件,但以下四种变体与你的问题相关:
jQuery(function(){ ... });
jQuery(document).ready(function(){ ... });
$(function(){ ... });
$(document).ready(function(){ ... });
$
标识符是 jQuery
标识符的别名。使用 noConflict
方法,您可以释放 $
别名,如果它与其他库冲突,则只使用 jQuery 标识符(甚至释放所有标识符并指定自己的标识符)。
使用 jQuery 对象本身来连接 ready
事件是一种常用的简写方式,但仅从代码中查看不太清楚它的作用。