我的项目在MVC 4.我的脚本在_Layout.cshtml中重新加载页面时出现以下错误:JScript运行时错误:'$'未定义
_Layout.cshtml:
<head>
<meta charset="utf-8" />
<title>@ViewBag.Title</title>
<link href="~/Images/favicon.ico" rel="shortcut icon" type="image/x-icon" />
<meta name="viewport" content="width=device-width" />
@Styles.Render("~/Content/css")
@Scripts.Render("~/bundles/modernizr")
@Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/bundles/jqueryui")
<script type="text/javascript" src="~/Scripts/jquery.qtip-1.0.0-rc3.min.js"> </script>
</head>
我的部分观点:
<script type="text/javascript">
$('#lnkOrganizar').click(function () {
if (($('.frozenTopC').css('display') != 'none') && ($('.frozenTopConteudo').css('display') != 'none')) {
$('.frozenTopC').css('display', 'none');
$('.frozenTopConteudo').css('display', 'none');
}
else {
$('.frozenTopC').css('display', 'table-cell');
$('.frozenTopConteudo').css('display', 'table-cell')
}
});
</script>
答案 0 :(得分:3)
jquery不存在。
请看这一行:<script type="text/javascript" src="~/Scripts/jquery.qtip-1.0.0-rc3.min.js"> </script>
检查服务器上是否有Scripts/jquery.qtip-1.0.0-rc3.min.js
通常也不会在那里引用你的主目录 - 你有“~
”。如果您的脚本位于Scripts
目录中,那么您只需使用Scripts/jquery.qtip-1.0.0-rc3.min.js
,因为对于Web服务器,所有内容都在其根(顶级)目录中。
这个文件也是主要的jquery库吗?我不清楚这是否只是你的脚本代码,如果是这样你需要包含主要的js库,如:
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
btw,目标是使用小写字母表示目录名称 - scripts
而不是Scripts
,因为从长远来看,它会让您的生活更轻松。我还建议script
而不是scripts
因为许多目录有多个文件(毕竟它们的目的)所以大多数人都使用单数目录。这比~
问题更接近于偏好。
此外,在调试和播放时,请记住您实际上可以将脚本放在<script>
标记内的同一文件中,而不是单独的文件中。不建议长期作为良好做法,但有助于查看问题所在。