2010-02-17 93 views
1

我的頁面中有以下代碼。有時jQuery是加載罰款,但有時我得到一個錯誤:jQuery is undefinedIE 7 + jquery 1.3.2錯誤

<script src="/javascripts/jquery-1.3.2.min.js" type="text/javascript"></script> 
<script src="/javascripts/jquery-ui-1.7.1.custom.min.js"  
type="text/javascript"></script> 

<script type="text/javascript"> 
alert('test') 
var $j = jQuery.noConflict(); 
alert('test1') 
//start when document is ready 
$j(document).ready(function(){ 
alert('test2') 

jQuery的時候不加載我只看到第一alert在頁面上。所以我認爲jQuery從不加載。此外,我使用noConflict只是因爲在我得到錯誤$ is undefined。我沒有使用任何其他的js庫,如原型或任何東西。所以我沒有任何真正的需要使用jQuery noConflict()

有人碰到過jQuery和IE 7的這些問題嗎?這個錯誤在Firefox上沒有發生。

可以做些什麼來解決這個問題?

更新 我決定利用託管在Google上的jQuery + jQuery UI。哪些爲我工作。

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.1/jquery.min.js"></script> 
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/jquery-ui.min.js" type="text/javascript"></script> 
+0

您的更新表明該問題與加載腳本相關,因此出現url問題。它是否正確? – Ahmad 2010-02-22 07:05:29

回答

0

如果在其他瀏覽器中也出現這種情況,那麼我的第一個選擇是您的URL路徑到Jquery庫是不正確的。 (javascriptsjavascript)。嘗試將完整的URL放到庫中,看看會發生什麼。

noConflict聲明是否正確?我覺得應該是

var j = jQuery.noConflict(); 
.... 
j(document).ready(function(){....} 
+0

聲明是正確的。我從jquery的網站上獲取它。 http://docs.jquery.com/Using_jQuery_with_Other_Libraries – Omnipresent 2010-02-17 20:22:49

+0

正確..我的錯誤 – Ahmad 2010-02-17 20:37:42

1

如果你沒有任何其他衝突的庫,然後$ is undefined非常手段無論是對你的jQuery腳本庫路徑不正確,或者說jQuery是還沒有準備好。在這種情況下沒有理由使用不衝突功能。

試試這個:

<script src="/path to your/jquery-1.3.2.min.js" type="text/javascript"></script> 

<script type="text/javascript"> 
    $(document).ready(function() { 

     alert("jquery is ready."); 

    }); 
</script> 

如果警報火災,你知道jQuery是引用和正確初始化。

如果不行,請嘗試以下方法:

  • 使用Firefox與Firebug檢查腳本路徑是正確的嘗試(你就可以實際加載腳本文件中的Firebug窗格)
  • 在開發中使用jQuery的非縮小版本,以確保沒有問題