2

可能重复:
jQuery 选择器 jQuery(“element”) 和 $(“element”) 有什么区别?

只是有点好奇。。

为什么有时我看到它写成$("#SomeElementId")有时又写成jQuery("#SomeElementId")?确切的区别是什么?

4

5 回答 5

5

$jQuery命名空间的别名。只是打字更快。当可能与也使用$.

jQuery 总是声明jQuery但只会声明$除非jQuery.noConflict()被调用。

无论哪种方式,一种常见的模式是$通过立即执行的函数在闭包中作为局部变量进行引用:

(function($) {
    //all your code here, which can reference $
})(jQuery);
于 2012-07-27T11:00:08.060 回答
3

在 iife 中理解 $ vs. jQuery 而不是 $

请注意,同样的问题多次被问到:)不同的措辞,但都意味着同样的事情,所以我认为这个问题很快就会结束。

许多 JavaScript 库使用 $ 作为函数或变量名,就像 jQuery 一样。在 jQuery 的例子中,$ 只是 jQuery 的别名,所以所有功能都可以在不使用 $ 的情况下使用。如果我们需要在 jQuery 旁边使用另一个 JavaScript 库,我们可以通过调用 $.noConflict() 将 $ 的控制权返回给另一个库:http: //api.jquery.com/jQuery.noConflict/

在“无冲突”模式下,$ 快捷方式不可用,使用较长的 jQuery。例如:

$(document).ready(function(){
     $(#somefunction) ...
});

变成:

jQuery(document).ready(function(){
    jQuery(#somefunction) ...
});

为了使用 $ 的默认 jQuery 快捷方式,您可以在代码周围使用以下包装器:

jQuery(document).ready(function($) {
    // $() will work as an alias for jQuery() inside of this function
});

该包装器将导致您的代码在页面完成加载时执行,并且 $ 将用于调用 jQuery。如果出于某种原因,您希望您的代码立即执行(而不是等待 DOM 就绪事件),那么您可以使用此包装器方法:

(function($) {
    // $() will work as an alias for jQuery() inside of this function
})(jQuery);

好读: http ://codex.wordpress.org/Function_Reference/wp_enqueue_script#jQuery_noConflict_wrappers

进一步,如果你热衷:

jQuery 中的 $ 是什么意思?

这应该有助于解渴:)可能希望这会有所帮助!

于 2012-07-27T11:04:29.507 回答
2

他们是一样的。默认情况下,jQuery 将自己绑定到两个全局名称:jQuery$. 后者更短但更模糊,因为其他框架也是如此。

请参阅有关此的文档:http: //api.jquery.com/jQuery.noConflict/

于 2012-07-27T11:00:20.130 回答
2

$是一个快捷方式jquery- 许多 javascript 库允许您使用$,因此如果您在代码中使用超过 1 个库,通常使用起来更安全jquery- 如果您只使用 jQuery,那么使用应该没有问题$

于 2012-07-27T11:01:12.923 回答
1

没有,$只是一个别名,你也可以通过jQuery.noConflict()函数使用不同的别名

于 2012-07-27T11:01:20.037 回答