$未定义:这是什么意思?

时间:2009-05-01 16:39:34

标签: javascript jquery

我收到了JS错误,我无法弄清楚如何修复它。

当我的页面加载时,IE7会通知我运行时错误。另外,我在Firefox上的Firebug警告我一个错误:

$ is not defined
(?)
[Break on this error] $(document).ready(function() { $("a#sin...Out': 300, 'overlayShow': false }); }); 

当我对问题进行讨论时:

<script type="text/javascript" src="/templates/magazeen/js/jquery/jquery.dropdown.js"></script>
    <script type="text/javascript">
    $(document).ready(function() { $("a#single_image").fancybox(); $("a#inline").fancybox({ 'hideOnContentClick': false }); $("a.group").fancybox({ 'zoomSpeedIn': 300, 'zoomSpeedOut': 300, 'overlayShow': false }); });
    </script>

请帮助。

11 个答案:

答案 0 :(得分:18)

您可能只包含了jQuery的下拉部分,而不是整个内容。尝试仅包含JQuery.js文件,而不指定哪个部分。

答案 1 :(得分:12)

您是否在相关脚本块上方有对jQuery的脚本引用?您看到此错误的原因是因为您使用的是jQuery函数 $ 而没有引用jQuery本身。

您需要像这样添加对jQuery的脚本引用:

<script type="text/javascript" src="/yourJsDir/jQuery.js"></script>

如果你有jQuery.js的本地副本。否则,您可以使用Google的托管版本:

<script type="text/javascript" 
    src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.1/jquery-ui.min.js"></script>

请确保这些脚本引用位于相关脚本块之上,因为您的jQuery插件将为其定义 $

答案 2 :(得分:4)

尝试在html上的自定义Js文件之前包含JQuery js:

<script src="../../Scripts/jquery-1.8.2.min.js" type="text/javascript" ></script>
<script src="../../Scripts/___your js___ .js" type="text/javascript"></script>

答案 3 :(得分:2)

您的代码似乎使用了JQuery。您确定已将JQuery库包含在正确的位置吗?

答案 4 :(得分:1)

您可能还需要包含正常的jquery.jsjquery.min.js

答案 5 :(得分:1)

这听起来像权限问题。确保您的文件可以访问该.js文件。它们应该是777。

答案 6 :(得分:0)

我昨天遇到了这个问题,因为我没有正确引用jQuery库。

答案 7 :(得分:0)

我正在本地处理文件:///Users/lo_fye/Desktop/jquery/index.html 我把脚本包括在:

<script type="text/javascript" src="/jquery.js"></script>

我得到了同样的错误:

$ is not defined

修复程序在脚本名称前加上一段时间,如下所示:

<script type="text/javascript" src="./jquery.js"></script>

答案 8 :(得分:0)

此问题也可能是安全问题。 如果您的网站上有身份验证,例如

<authentication mode="Forms">   
<forms loginUrl="file1.aspx" defaultUrl="file2.aspx"/>
</authentication>
<authorization>
<deny users="?"/> 
</authorization>

然后,您必须使用web.config中的以下内容从此安全设置中排除脚本文件夹。

<location path="Scripts">
    <system.web>
      <authorization>
        <allow users="*"/>
      </authorization>
    </system.web>
  </location>

答案 9 :(得分:0)

每次我收到此错误,都是因为 1-引用jquery.js是错误的(错误的路径) 2-错误的文件名......

因此,请更正路径或拼写或文件名/文件夹名称等

答案 10 :(得分:0)

尝试在JS文件中添加此内容

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>