只是有点好奇。。
为什么有时我看到它写成$("#SomeElementId")
有时又写成jQuery("#SomeElementId")
?确切的区别是什么?
只是有点好奇。。
为什么有时我看到它写成$("#SomeElementId")
有时又写成jQuery("#SomeElementId")
?确切的区别是什么?
$
是jQuery
命名空间的别名。只是打字更快。当可能与也使用$
.
jQuery 总是声明jQuery
但只会声明$
除非jQuery.noConflict()
被调用。
无论哪种方式,一种常见的模式是$
通过立即执行的函数在闭包中作为局部变量进行引用:
(function($) {
//all your code here, which can reference $
})(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 将自己绑定到两个全局名称:jQuery
和$
. 后者更短但更模糊,因为其他框架也是如此。
请参阅有关此的文档:http: //api.jquery.com/jQuery.noConflict/
$
是一个快捷方式jquery
- 许多 javascript 库允许您使用$
,因此如果您在代码中使用超过 1 个库,通常使用起来更安全jquery
- 如果您只使用 jQuery,那么使用应该没有问题$
没有,$只是一个别名,你也可以通过jQuery.noConflict()
函数使用不同的别名