2011-07-21 25 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';