javascript - JScript runtime error: '$' is undefined - Stack Overflow

My project is in MVC 4. My scripts are in _Layout.cshtml when reload the page the following error: JScr

My project is in MVC 4. My scripts are in _Layout.cshtml when reload the page the following error: JScript runtime error: '$' is undefined

_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>

My Partial View:

   <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>

My project is in MVC 4. My scripts are in _Layout.cshtml when reload the page the following error: JScript runtime error: '$' is undefined

_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>

My Partial View:

   <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>
Share Improve this question edited Oct 6, 2013 at 22:50 Michael Durrant 96.7k101 gold badges347 silver badges531 bronze badges asked Sep 24, 2013 at 12:40 DanielleDanielle 1392 gold badges4 silver badges19 bronze badges 8
  • Please check if your jQuery is loading properly. Otherwise there is no other reason for this error. – Ganesh Pandhere Commented Sep 24, 2013 at 12:41
  • 1 Are you sure that jQuery has been included? E.g. if you view the source of the final output, does it successfully resolve the link to jQuery? – Moo-Juice Commented Sep 24, 2013 at 12:41
  • Does the rendered code has a working link to the jQuery library? – Clyde Lobo Commented Sep 24, 2013 at 12:43
  • be sure to wrap your script in $(window).load(function(){}); to be sure your script run when the page is ready, and not before the jquery is loaded and make sure, jquery loaded before jtip – Iliya Reyzis Commented Sep 24, 2013 at 12:46
  • 1 Open the dev tools in your browser. Look at the HTML code: Is the jQuery lib in your page? Is the URL correct? Is there a 404 error for it? (or any other error?) – Spudley Commented Sep 24, 2013 at 12:48
 |  Show 3 more ments

1 Answer 1

Reset to default 3

jquery isn't present.

Look at this line: <script type="text/javascript" src="~/Scripts/jquery.qtip-1.0.0-rc3.min.js"> </script>

Check that you have that Scripts/jquery.qtip-1.0.0-rc3.min.js on the server

It is also NOT usual to refer to your home directory there - where you have the "~". If your script is in a Scripts directory then you just use Scripts/jquery.qtip-1.0.0-rc3.min.js because with a web server, everything is within it's root (top level) directory.

Also is this file the main jquery library? It's not clear to me whether this is just your script code and if so you'll need to include the main js library with something like:

<script src="//ajax.googleapis./ajax/libs/jquery/1.10.2/jquery.min.js"></script>

btw, aim to use lowercase for directory names - scripts not Scripts as it will make your life easier in the long run. I would also remend script not scripts as many directories have multiple files (their purpose after all) so most folks use singular directory. This is closer to a preference though than the ~ issue.

Also, while debugging and playing around, remember that you can actually have the script in the same file, within <script> tags, not in a separate file. Not remended long-term as a good practice but useful for seeing where the issue is.

发布者:admin,转转请注明出处:http://www.yc00.com/questions/1744233982a4564387.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信