2010-02-17 148 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的非缩小版本,以确保没有问题