$在onload中不可用

时间:2016-06-07 15:11:31

标签: javascript jquery html onload

我无法理解在我的页面上使用onload时无法识别$的错误。这就像我创建的示例页面一样,我需要在加载页面后调用函数。



Jquery Code

$(document).ready(function(){
 alert("loaded");
});




<html>

<head>
</head>

<body>

</body>
    <script src="../Jquery/contact.js"></script>
    <script src="../Jquery/jquery-1.12.0.min.js"></script>
    <script src="../Jquery/jquery-migrate-1.2.1.min.js"></script>
    <script src="../Jquery/jquery.SPServices-2014.01.min.js"></script>

    <link rel="stylesheet" type="text/css" href="../CSS/default.css"/>
    <link rel="stylesheet" type="text/css" href="../bootstrap-3.3.6-dist/css/bootstrap.css"/>
    <link rel="stylesheet" type="text/css" href="../bootstrap-3.3.6-dist/css/bootstrap.min.css"/>
    <link rel="stylesheet" type="text/css" href="../bootstrap-3.3.6-dist/css/bootstrap-theme.css"/>
    <link rel="stylesheet" type="text/css" href="../bootstrap-3.3.6-dist/css/bootstrap-theme.min.css"/>



</html>

2 个答案:

答案 0 :(得分:1)

这里有两个问题:

  1. scriptlink标记作为html的直接子项无效,因此我并不感到惊讶,因为它没有&#39 ;至少在某些浏览器上正常工作。您需要将它们放在bodyhead中。 only valid content of the html element是一个head元素,后跟一个body元素。

    标准指南,例如YUI Best Practices for Speeding Up your Website中的标准指南:

    • link标记放入head
    • script标记放在body底部,就在结束</body>标记之前
  2. 您的contact.js文件似乎立即调用$()(不响应事件)。如果是这样,那么contact.js必须在脚本列表中的之后 ,以便在代码运行时加载jQuery。

  3. 所以:

    <html>
    
    <head>
        <link rel="stylesheet" type="text/css" href="../CSS/default.css"/>
        <link rel="stylesheet" type="text/css" href="../bootstrap-3.3.6-dist/css/bootstrap.css"/>
        <link rel="stylesheet" type="text/css" href="../bootstrap-3.3.6-dist/css/bootstrap.min.css"/>
        <link rel="stylesheet" type="text/css" href="../bootstrap-3.3.6-dist/css/bootstrap-theme.css"/>
        <link rel="stylesheet" type="text/css" href="../bootstrap-3.3.6-dist/css/bootstrap-theme.min.css"/>
    </head>
    
    <body>
    
        <script src="../Jquery/jquery-1.12.0.min.js"></script>
        <script src="../Jquery/jquery-migrate-1.2.1.min.js"></script>
        <script src="../Jquery/jquery.SPServices-2014.01.min.js"></script>
        <script src="../Jquery/contact.js"></script>
    
    </body>
    </html>
    

    附注:

    • 您可以查看脚本和CSS组合和缩小,以避免有大量的HTTP请求。
    • 考虑在最顶层添加<!doctype html>以确保浏览器处于标准模式(而不是怪癖模式)。
    • 考虑在<meta charset="UTF-8">的顶部添加head(确保文件确实是UTF-8,或者将&#34; UTF-8&#34;更改为您的任何编码#39;实际上在文件中使用了。)

答案 1 :(得分:0)

感谢您的意见。所以基本上我有两个问题。我通过将contact.js移动到底部并删除了迁移插件来解决了第一个问题。