当前位置: 首页 > 面试题库 >

jQuery-未定义$

陈增
2023-03-14
问题内容

我有一个简单的jquery click事件

<script type="text/javascript">
    $(function() {
        $('#post').click(function() {
            alert("test"); 
        });
    });
</script>

以及在site.master中定义的jquery引用

<script src="<%=ResolveUrl("~/Scripts/jquery-1.3.2.js")%>" type="text/javascript"></script>

我检查了脚本是否已正确解析,可以在Firebug中查看标记并直接查看脚本,因此必须找到我。但是,我仍然得到:

$未定义

而且没有一个jQuery的作品。我还尝试了$(document).ready和jQuery等的各种变体。

这是.net 3.5上的MVC 2应用程序,我确定我真的很密集,谷歌上的每个地方都说要检查文件是否被正确引用,我已经检查过并再次检查过,请告知!:/


问题答案:

该错误只能由以下三种情况之一引起:

  1. 您的JavaScript文件未正确加载到页面中
  2. 您有一个拙劣的jQuery版本。发生这种情况的原因是有人编辑了核心文件,或者插件可能覆盖了$变量。
  3. 您需要在页面完全加载之前以及jQuery完全加载之前运行JavaScript。

首先,请确保正确调用了什么脚本,它应该看起来像

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

并且不应具有 asyncdefer 属性。

然后,您应该检查Firebug 网络面板,以查看文件是否实际上已正确加载。如果不是,它将以红色突出显示并在其旁边显示“ 404”。如果文件加载正确,则意味着问题是第2个。

确保所有jQuery javascript代码都在代码块中运行,例如:

$(document).ready(function () {
  //your code here
});

这将确保在初始化jQuery 之后 加载您的代码。

最后要检查的一件事是确保 在加载jQuery之前不加载任何插件。插件扩展了“$”对象,因此,如果您在加载jQuery核心之前先加载插件,则会得到您所描述的错误。

注意: 如果要加载不需要jQuery来运行的代码,则无需将其放在jQuery
ready处理程序中。该代码可以使用分隔document.readyState



 类似资料:
  • 问题内容: 我有一个简单的函数,它仅将翻译后的消息从服务器返回到客户端。但是,当我将结果传递给var时,结果显示为未定义。 结果- >未定义(错误) 当我查看标题时,它会给我: 为什么我仍然得到不确定的结果? 问题答案: 您可以将回调函数传递给该函数 然后调用:

  • 问题内容: 我有一个ajax脚本,我想从一个函数发布。我正在使用onlick href,但是它没有显示为undefined。这是使用WordPress的。我试图在范围内和范围外移动代码,但是我似乎仍然无法正常工作。 谢谢 :) 问题答案: 当您执行此操作时,将调用global函数。由于在函数中定义了,因此它不是全局的。因此,是(因此)。 全局变量存储在对象中。 因此,可以将其公开为全局变量: 请注

  • 问题内容: 嗨,我只是想接收一个ajax请求,但是问题是在React中没有定义jquery。反应版本是 错误信息 我有两个文件 : 问题答案: 尝试添加到您的项目中,例如 或者如果您使用凉亭 然后

  • 我想为我的网站使用bootstrap(带node.js)。但我有以下错误: /var/www/node_modules/bootstrap/js/transition.js:59}(jQuery);^referenceerror:jQuery.(/var/www/node_modules/bootstrap/js/transition.js:59:3)在module.(/var/www/node_

  • 我创建了一个简单的webapp,在Rails3.2.17应用程序中集成了bootstrap 3,遵循stackoverflow上的这一过程,因此不使用gem,而是手动复制相关应用程序目录中的bootstrap文件。 即使我有,在我的gem文件中: 我仍然可以看到,用chrome检查我的网页,错误:

  • 问题内容: 我有一个要通过ajax提交的表格。我正在使用jquery表单插件。我想做的是获取从服务器返回的“ Location”标头。我可以在萤火虫中看到它。但是,每当我在成功回调中调用getResponseHeader()函数时,它总是返回“ undefined”。 码: 位置未定义。但是我可以在Firebug中看到“ Location”标头。我想念什么?即使我从xhr对象调用getAllRes