我正在向网站部署一些代码,但当我这样做时,JavaScript 不会运行。我收到错误:
SCRIPT5007: The value of the property '$' is null or undefined, not a Function object.
它使用的代码是
@model MVCMasterDetail.DataAccess.cwwoLoadCurrentWorkOrderActualsResult[]
<script type="text/javascript">
$(document).ready(function () {
$(".grid-toggle").click(function () {
$(this).closest("table").find("tbody").show();
});
$(".hide-rows").click(function () {
$(this).closest("table").find("tbody").hide();
});
});
</script>
@Html.Partial("MasterDetailMasterPartial")
调用使用它的是:
<td colspan="4"> Details<br/><a href="javascript: void(0)" class="grid-toggle">Show- </a><a href="javascript: void(0)" class="hide-rows">Hide</a></td>
感谢任何帮助。
最佳答案
根据您在 Ashley Ross 的回答中的评论,您似乎尝试使用相对路径添加 jQuery。看来您正在使用 MVC。在MVC中,想要在html中引用文件的方式是:
<script src="@Url.Content("~/Scripts/jquery-1.7.1.js")"></script>
此外,脚本标记是否位于 head 标记中并不重要。它唯一的区别是加载。通过将其放在 head 标签中,您可以告诉浏览器在开始加载正文之前下载 js 文件,这可能很好,但也会增加页面加载时间。为了更快地下载页面,您实际上希望将脚本标记放在 body 标记的底部,这会推迟下载 js 文件,直到页面的其余部分加载完毕。这会加快页面加载时间,但如果您没有预料到,可能会导致一些奇怪的行为。
关于c# - JavaScript 在本地工作,但在部署到网络服务器时无法工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14125765/