IE 7 + jquery 1.3.2错误

时间:2010-02-17 20:10:04

标签: jquery internet-explorer jquery-ui-tabs

我的页面中有以下代码。有时jQuery加载正常,但有时我会收到错误:jQuery is undefined

<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>

2 个答案:

答案 0 :(得分: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被正确引用和初始化。

如果没有,请尝试以下选项:

  • 尝试使用带有Firebug的Firefox来检查脚本路径是否正确(您将能够在firebug窗格中实际加载脚本文件)
  • 在开发中使用非缩小版jQuery,以确保没有问题

答案 1 :(得分:0)

如果在其他浏览器中也发生这种情况,那么我的第一个赌注是你的Jquery库的URL路径是不正确的。 (javascriptsjavascript)。尝试将完整的URL放到库中,看看会发生什么。

noConflict声明是否正确?我认为应该是

var j = jQuery.noConflict();
....
j(document).ready(function(){....}
相关问题