$ 和 jQuery 之间有什么区别?
现在我正在做 joomla 项目,我该如何解决这个问题?
如果您只安装了 jQuery 而没有安装其他库,那么$
和jQuery
是一样的($
是 的别名jQuery
)。如果安装了多个库,每个库都尝试使用该$
符号,那么只有一个库可以拥有它,并且 jQuery 可能不再使用它。在这种情况下,您可以使用该jQuery
符号来访问所有 jQuery 函数。
jQuery 的函数jQuery.noConflict()
将取消分配$
符号,以便在发生冲突时可以被另一个库使用。如果您发现$
未定义,则可能是因为某些代码已将其重新定义为其他内容,jQuery
或者某些代码已明确取消分配jQuery.noConflict()
.
如果是这种情况,您始终可以使用jQuery
而不是$
访问任何 jQuery 功能,例如jQuery(selector)
orjQuery.each()
等...
继 jfriend00 的回答之后,如果您确实发现自己必须jQuery
在全局范围内使用以避免冲突,您可以将其“映射”到美元符号并在本地范围内使用它,如下所示:
(function($) {
// your familiar jQuery code using '$' can now go here
// e.g.
// $('#foo').hide();
})(jQuery);
我在 Joomla 中将这种方法用于我自己的 jQuery 代码。Joomla 默认使用 mootools。