JScript运行时错误:'$'未定义

时间:2013-09-24 12:40:13

标签: javascript jquery asp.net-mvc-4 runtime-error undefined

我的项目在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>

1 个答案:

答案 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>标记内的同一文件中,而不是单独的文件中。不建议长期作为良好做法,但有助于查看问题所在。