JavaScript / jQuery – “$ is not defined- $ function()”错误

我试图运行JavaScript / jQuery函数, Firebug得到错误:

$ is not defined $(function()". 

JavaScript代码放在名为core.js的文件中,并由index.php引用。 是什么导致这个错误?

JavaScript的:

  var formObject = { run : function(obj) { if (obj.val() === '') { obj.nextAll('.update').html('----').attr('disabled', true); } else { var id = obj.attr('id'); var v = obj.val(); jQuery.getJSON('/mod/update.php', { id : id, value : v }, function(data) { if (!data.error) { obj.next('.update').html(data.list).removeAttr('disabled'); } else { obj.nextAll('.update').html('----').attr('disabled', true); } }); } } }; $(function() { $('.update').live('change', function() { formObject.run($(this)); }); });  

PHP / HTML

   Select one   <option value="">       

您不能让jQuery可用于您的脚本。

将其添加到文件顶部:

  

此问题与未正确添加到PHP / JSP / ASP文件的jQuery / JavaScript文件有关。 这样就可以从源代码获取jQuery代码了。 您可以下载并在服务器上本地引用它,这将更快。

或者任何一个都可以直接将其链接到jQuery或GoogleCDN或MicrosoftCDN。

如何将jQuery添加到您的网页

尝试:

 (function($) { $(function() { $('.update').live('change', function() { formObject.run($(this)); }); }); })(jQuery); 

通过使用这种方式,您可以确保全局变量jQuery将绑定到闭包内的“$”。 只需插入以下命令即可确保jQuery正确加载到页面中:

  

将“ http://code.jquery.com/jquery-1.7.1.min.js ”替换为jQuery源在页面上下文中所在的路径。

这可能对某人有用:

如果您已经获得了jQuery但仍然遇到此错误,请检查您在使用它的js之前包含jQuery,特别是如果您在ASP.NET C中使用@RenderBody()

如果在@RenderBody()调用的视图中包含js,则必须在@RenderBody()之前包含jQuery。

您需要在页面上包含jQuery库。

您可以在此处下载jQuery并自行托管,也可以从Google或Microsoft等外部源链接。

谷歌的:

  

微软:

  

包含jquery.js,如果包含它,请在任何其他JavaScript代码之前加载它。