$ replace to“jQuery” - 为什么这个问题“$不是函数”

时间:2012-05-22 06:00:14

标签: jquery joomla

$和jQuery之间有什么区别?

现在我正在研究joomla项目,我该如何解决这个问题?

2 个答案:

答案 0 :(得分:8)

如果您只安装了jQuery而没有安装其他库,那么$jQuery是相同的($jQuery的别名)。如果安装了多个库,每个库都尝试使用$符号,那么只有一个库可以拥有它,jQuery可能不再使用它。在这种情况下,您可以使用jQuery符号来访问所有jQuery函数。

jQuery的函数jQuery.noConflict()将取消分配$符号,以便在发生冲突时由其他库使用。如果您发现$未定义,那么可能是因为某些代码已将其重新定义为jQuery以外的某些代码,或者某些代码已明确地将其与jQuery.noConflict()取消分配。

如果是这种情况,您可以始终使用jQuery代替$来访问任何jQuery功能,例如jQuery(selector)jQuery.each()等。

答案 1 :(得分:5)

继续jfriend00的回答,如果您发现自己必须在全局范围内使用jQuery以避免冲突,您可以将其“映射”到美元符号并使用它在本地范围内如此:

(function($) {
    // your familiar jQuery code using '$' can now go here
    // e.g.
    // $('#foo').hide();
})(jQuery);

我在Joomla中将此方法用于我自己的jQuery代码。 Joomla默认使用mootools。