当我启动我的项目并加载我的页面时,出现以下错误:
0x800a138f - JavaScript运行时错误:属性'$'的值为null或未定义,不是函数对象。
请注意,这是一条错误信息,而不是解释或建议。
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="TestPage.aspx.cs" Inherits="WebsiteTest.TestPage" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Web Service Test</title>
<script src="http://ajax.microsoft.com/ajax/jQuery/jquery-2.1.1.js" type="text/javascript"></script>
<script type="text/javascript">
$(function () {
$('#tbDetails').hide();
$('#btnClick').click(function () {
alert('test');
});
});
</script>
</head>
<body>
<form id="form1" runat="server">
<input type="button" id="btnClick" value="Get Data" />
<table id="tbDetails">
<thead style="background-color: #DC5807; color: White; font-weight: bold">
<tr style="border: solid 1px #000000">
<td>Description</td>
<td>Comments</td>
</tr>
</thead>
<tbody>
</tbody>
</table>
</form>
</body>
</html>
我猜是因为 JQuery 没有被包含,尽管应该是包含在内的。你有什么想法吗?谢谢。
更新:使用时可以正常工作。
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
我会继续研究为什么它不能与 MS 版本一起使用!它肯定存在,因为我可以下载它!
更新
我找出了两个问题:
我在本地主机上使用 https,但应该使用 jQuery 的 https。更改后,我消除了最初的错误,但是我遇到了其他错误,我仍在研究。
我的代码完美运行(并且更好,因为我打开了这个线程),因为现在我还调用了一个 REST web 服务并操作返回的数据,而没有任何错误,但是这只适用于 Chrome 和 Firefox!IE11 怎么回事?
$( ... )
包装器。$(function() { ... })
与(现已删除的)评论中建议的完全相同。 - Pointy<script>
标签上的“type”属性,但即使在这里,它们看起来也很好。 - Pointy