可能重复:
jQuery selecter whats difference between jQuery(“element”) and $(“element”)?
有点好奇..
为什么有时我会将其视为$("#SomeElementId")
,有时则视为jQuery("#SomeElementId")
?有什么确切的区别?
答案 0 :(得分:5)
$
是jQuery
命名空间的别名。输入速度更快。当可能与其他使用$
的库相冲突时,通常会避免这种情况。
jQuery总是声明jQuery
,但只会声明$
,除非调用jQuery.noConflict()
。
无论哪种方式,一个常见的模式是通过一个立即执行的函数将$
作为闭包中的局部变量引用:
(function($) {
//all your code here, which can reference $
})(jQuery);
答案 1 :(得分:3)
understanding $ vs. jQuery in iife instead of $
注意同一个问题被问到很多时候人:)
的措辞不同但所有意思都一样,所以我认为这个问题很快就会关闭。
许多JavaScript库使用$作为函数或变量名,就像jQuery一样。在jQuery的情况下,$只是jQuery的别名,因此所有功能都可以在不使用$的情况下使用。如果我们需要在jQuery旁边使用另一个JavaScript库,我们可以通过调用$ .noConflict()将$的控制权返回给另一个库:http://api.jquery.com/jQuery.noConflict/
In" no-confict"模式,$快捷方式不可用,使用更长的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 ready事件),那么您可以使用此包装方法:
(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
如果你热衷于:
这应该有助于解渴[{1}}可能希望这会有所帮助!