2011-07-21 28 views
0

我有一个奇怪的问题。我在我的文件中加载了jquery-min javascript。但我只能访问jQuery.ajax而不是$ .ajax。据说$ .ajax是未定义的。这是为什么?

+2

你还使用了其他的库吗? MooTools,原型,...? – Shef

+1

你是否使用任何其他库,如定义$的原型?尝试阅读http://api.jquery.com/jQuery.noConflict/ –

+0

你是否也加载了其他库?他们可能会冲突并导致问题。正如你所知,你可以通过jQuery访问东西,你可以关闭$使用(从内存)jQuery.noConflict() – Codecraft

回答

1

您可以轻松地通过使用闭合解决这个问题以及。

(function($){ 

    // Your jQuery code here. 

})(jQuery); 
+0

这是一个很好的做法,即使在没有明确的$冲突。 – jimbojw

4

您是否正在使用另一种采用$函数的框架?

查找到JQuery's noConflict设置

例子:

<script type="text/javascript" src="other_lib.js"></script> 
<script type="text/javascript" src="jquery.js"></script> 
<script type="text/javascript"> 
    $.noConflict(); 
    jQuery(document).ready(function($) { 
    // Code that uses jQuery's $ can follow here. 
    }); 
    // Code that uses other library's $ can follow here. 
</script> 

你甚至可以指定一个不同的别名将jQuery以外$

var j = jQuery.noConflict(); 
// Do something with jQuery 
j("div p").hide(); 
// Do something with another library's $() 
$("content").style.display = 'none';