为什么需要$ = jQuery

时间:2011-08-15 09:55:42

标签: javascript jquery dollar-sign

问题几乎是理论上的。但是上次我已经惹恼了一些微妙的bug。当页面包含子帧并且父帧和子帧都使用相同的js文件时,如果我没有在开始时设置$ = jQuery,则此js文件的功能崩溃。诀窍可能在这里?

谢谢!

2 个答案:

答案 0 :(得分:3)

除非您从$变量中删除了引用,否则不应该这样做。

检查您是否在某处使用noConflict方法将jQuery与$变量分离,或者使用名为$的其他内容(如函数)。

答案 1 :(得分:3)

如果页面中的任何位置包含其他JavaScript库,则可能会使用$MootoolsPrototype都使用$

如果包含jQuery然后包含Prototype,那么$变量将被覆盖,因此在任何jQuery代码工作之前你必须设置$ = jQuery

<link rel="stylesheet" href="jQuery.js" />
<link rel="stylesheet" href="prototype.js" />
<script>$ = jQuery</script>

同样,正如@Guffa所说,如果你在任何地方调用noConflict,它将取消设置$变量。

理想情况下,我认为您不应该使用$变量,因为它可能会导致问题。做一些像:

jQuery.noConflict();
var jQ = jQuery;

然后使用jQ变量,就像使用$一样。那你就不会发生冲突。