未捕获的ReferenceError:$未定义错误

时间:2015-05-07 10:05:44

标签: javascript jquery

我得到这个错误

  

未捕获的ReferenceError:$未定义。

我已经搜索过,发现通常的原因是没有在正确的位置声明jQuery,但我认为我没错。

提前致谢。

<script type="text/javascript" src="jquery-1.2.6.min.js"></script>
<script type="text/javascript" src="ajax2.js"></script>

<script type="text/javascript">

var slideimages = new Array() // create new array to preload images
slideimages[0] = new Image() // create new instance of image object
slideimages[0].src = "images/aib.jpg" // set image src property to image path, preloading image in the process
slideimages[1] = new Image()
slideimages[1].src = "images/paddypower.jpg"
slideimages[2] = new Image()
slideimages[2].src = "images/rtegaa.jpg"
slideimages[3] = new Image()
slideimages[3].src = "images/ssgaa.jpg"

$(document).ready(function(){

    function get_weather()
    {
        var p = $("#code").val();

        var u = ($('#u').attr('checked')) ? '&u=c' : '';
        var to_load = 'get_weather.php?p='+ p + u;

        $("#weather").html('<img style="margin-top: 104px;" src="ajax-loader.gif" align="absmiddle">');

        $("#weather").load(to_load);
    }

    $(window).load(get_weather); // Trigger "get_weather" when the window loads

    // Trigger "get_weather" when the form objects are used
    $("#code").change(get_weather);
    $("#u").click(get_weather); 
});

3 个答案:

答案 0 :(得分:4)

解决方案:

1)使用Google CDN加载jQuery

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script>

2)它与jQuery v1.5-v1.7兼容,因为大多数方法在jQuery 1.8+中已弃用。这就是我在第1点中使用Google CDN jquery v1.5的原因。循环插件中的大多数示例都使用jquery 1.5。

3)清除您的浏览器缓存,这是大多数时候的罪魁祸首。

4)使用下面的代码检查加载jquery

if(typeof jQuery!=='undefined'){
    console.log('jQuery Loaded');
}
else{
    console.log('not loaded yet');
}

答案 1 :(得分:1)

可能你在某个地方打电话给jQuery.noConflict()

要解决此问题,请将代码包装成:

(function($, undefined){

    if( !$ )
    {
        console.log('jQuery failed to load');
        return;
    }

    //jquery code here

})(window.jQuery);

这将阻止jQuery.noConflict()影响您的代码,并且您可以在jQuery遇到麻烦的情况下进行调试。

另外,在Element Inspector上观看“网络”标签(按 F12 )。

答案 2 :(得分:0)

如果脚本标记中提到的位置中不存在“jquery-1.2.6.min.js”文件,则不会发生此错误。从您的代码中,jquery文件应与启动页面位于同一文件夹中。

发生此错误时,我会检查以下内容

1)确保jquery脚本文件存在于正确的位置

2)jquery文件的名称与脚本标记

中引用的名称相同

3)在浏览器控制台窗口中,有一个调试器或源选项卡,显示页面使用的所有脚本和CSS文件。检查jquery是否存在于浏览器的“源”选项卡下