我无法理解在我的页面上使用 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>
最佳答案
这里有两个问题:
输入
script
无效。或link
标记为html
的直接子级,所以它至少在某些浏览器上无法正常工作并不令我感到惊讶。您需要将它们放在body
中或head
。 only valid content of thehtml
element是单head
元素后跟一个body
元素。标准指南,例如 YUI Best Practices for Speeding Up your Website是:
- 输入
link
标签head
- 输入
script
body
底部的标签,就在收盘前</body>
标签
- 输入
看起来像你的
contact.js
文件调用$()
立即(不是响应事件)。如果是这样,那么contact.js
脚本列表中必须位于 jQuery 之后,以便在代码运行时加载 jQuery。
所以:
<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 格式,或者将其中的“UTF-8”更改为您在文件中实际使用的任何编码)。
关于javascript - $ 在 onload 中不可用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37683127/