$ 和 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。