使用jQuery()
哪种方式更好?我听说jQuery(element)
不会破坏代码,例如WordPress的。但$
编写起来更容易,更快。
您更喜欢哪一个?为什么?
答案 0 :(得分:10)
我的偏好顺序是$()
,然后是var $jq = jQuery.noConflict(); $jq()
,最后是jQuery()
。您还可以通过执行以下操作来限制$
功能的范围:
;(function($){
...in here $ means jQuery...
})(jQuery);
这是创建一个参数为$
的匿名函数,传入jQuery作为参数,并且在函数内参数范围覆盖任何全局范围的$
函数。后者在自己创建插件时最有用。
答案 1 :(得分:5)
这取决于你需要做什么,它们都是相同的。
如果您正在使用另一个像Prototype(也使用$)的库,那么您需要使用jQuery,但在大多数没有冲突的情况下,只需使用$()
答案 2 :(得分:2)
$ quickhand也被其他框架(如原型)使用,所以如果你不使用它,可以随意使用$作为速记。据我所知,这两个只是彼此的别名。
答案 3 :(得分:1)
对于仅使用$
来调用jQuery
的自己的扩展程序,您还可以使用像这样包装代码的标准技巧
(function($) {
... your other code using $(selector).moo here ....
})(jQuery);
答案 4 :(得分:1)
我的大多数jQuery代码分为两类:插件和页面加载的东西。
对于插件,这是最简单的方法:
(function($) {
$.fn.myplugin = function() { ... };
})(jQuery);
对于页面加载的东西,这是大部分内容,只需这样做:
jQuery(function($) {
$('a[href$="foo"]').click( ... );
});
这样,如果包含额外的库(例如:Prototype)就没关系了,你仍然可以使用$而不是每次都输入“jQuery”。
答案 5 :(得分:0)
您可以使用var jq=jQuery.noConflict();
来处理名称冲突。
前:
var $jq=jQuery.noConflict();
$jq("p").hide();