$(document).ready(function() Uncaught ReferenceError: $ is not defined
Posted
技术标签:
【中文标题】$(document).ready(function() Uncaught ReferenceError: $ is not defined【英文标题】:$(document).ready(function() Uncaught ReferenceError: $ is not defined$(document).ready(function() Uncaught ReferenceError: $ is not defined 【发布时间】:2012-06-07 13:17:36 【问题描述】:您好,我在使用以下代码时遇到“未捕获的 ReferenceError:$ 未定义”
我目前在我的日志中收到以下错误。我一直在查看框架中的示例,但似乎无法找到错误所在。自从我做任何 html 或 js 以来已经有十多年了,那时我所做的只是非常基本的东西。任何帮助将不胜感激
<script type="text/javascript">
var sQuery = '<?php echo $sQuery; ?>';
$(document).ready(function()
if($('input[name=sPattern]').val() == sQuery)
$('input[name=sPattern]').css('color', 'gray');
$('input[name=sPattern]').click(function()
if($('input[name=sPattern]').val() == sQuery)
$('input[name=sPattern]').val('');
$('input[name=sPattern]').css('color', '');
);
$('input[name=sPattern]').blur(function()
if($('input[name=sPattern]').val() == '')
$('input[name=sPattern]').val(sQuery);
$('input[name=sPattern]').css('color', 'gray');
);
$('input[name=sPattern]').keypress(function()
$('input[name=sPattern]').css('background','');
)
);
function doSearch()
if($('input[name=sPattern]').val() == sQuery)
return false;
if($('input[name=sPattern]').val().length < 3)
$('input[name=sPattern]').css('background', '#FFC6C6');
return false;
return true;
</script>
【问题讨论】:
您的源代码中是否包含 jQuery 库? 确保将 jquery 包含到您的项目中 您没有针对此问题的正确标签 - 每当您提出问题时,请添加相关标签 Interesting Uncaught ReferenceError: "$ is not defined" 和 Uncaught ReferenceError: $ is not defined 和 many others 的可能重复项。 【参考方案1】:您似乎没有导入jquery。这些 $ 函数来自这个非标准(但非常有用)的库。
在那里阅读教程:http://docs.jquery.com/Tutorials:Getting_Started_with_jQuery 它从如何导入库开始。
【讨论】:
浏览器不包含,你必须这样做。但我同意你的观点是这个库是几乎每个人都应该使用的库(这在开发世界中是一种非常罕见的现象,通常我发现人们太愿意添加无用的库)。 非本地应该是这个词。你应该看看here :D 我明白你的意思。说到“母语”,我不是以英语为母语的人,因此并不总是选择最合适的词。对不起。【参考方案2】:无需使用jQuery.noConflict
和所有
试试这个:
// Replace line no. 87 (guessing from your chrome console) to the following
jQuery(document).ready(function($)
// All your code using $
);
如果在第87行仍然报错,比如Uncaught reference error: jQuery is not defined
,那么你需要在使用之前包含jQuery文件,你可以查看上面的答案
【讨论】:
感谢上帝,感谢存在 =) 你的代码救了我。【参考方案3】:将此代码放在<head></head>
标签中:
<script type="text/javascript" src="http://code.jquery.com/jquery-1.10.0.min.js"></script>
【讨论】:
【参考方案4】:如果您确定包含 jQuery,请尝试将 $ 替换为 jQuery 并重试。
类似
jQuery(document).ready(function()..
如果你得到错误,你还没有包含 jQuery。
【讨论】:
【参考方案5】:我知道这是一个老问题,大多数人都给出了很好的答案。但仅供参考,希望能节省别人的时间。检查您的功能是否:
$(document).ready(function()
在您加载了 JQuery 库之后被调用
【讨论】:
【参考方案6】:许多其他人在上面回答了您的问题。当您的脚本找不到 jQuery 脚本并且如果您使用其他框架或 cms 时会出现此问题,那么 jQuery 和其他库之间可能存在冲突。 在我的情况下,我使用如下 - `
<script src="js_directory/jquery.1.7.min.js"></script>
<script>
jQuery.noConflict();
jQuery(document).ready(
function($)
//your other code here
);</script>
`
这里可能有一些语法错误。请原谅我,因为我是用手机写的。谢谢
【讨论】:
【参考方案7】:记住一定要先加载jquery脚本,再加载脚本js
<script type="text/javascript" src="http://code.jquery.com/jquery-2.2.4.min.js"></script>
<script type="text/javascript" src="example.js"></script>
Html 是按顺序读取的!
【讨论】:
【参考方案8】:$
是jQuery库提供的函数,除非你加载了jQuery库,否则它是不可用的。
您需要添加jQuery
(通常带有<script>
元素,该元素可以指向库的本地副本或托管在CDN 上的副本)。确保您使用的是 current 和 supported 版本:关于这个问题的许多答案建议使用 jQuery 的 1.x 或 2.x 版本,它们不再受支持并且已知安全问题。
<script src="/path/to/jquery.js"></script>
确保在运行任何依赖它的脚本之前加载 jQuery。
jQuery homepage 将有一个下载当前版本库的链接(在撰写本文时它是 3.5.1,但在您阅读本文时可能会发生变化)。
在页面的下方,您会找到a section on using jQuery with a CDN,它链接到许多将为您托管图书馆的地方。
(注意:其他一些库提供了 $
函数,并且浏览器具有仅在开发者工具控制台中可用的原生 $
变量,但这个问题与这些无关)。
【讨论】:
以上是关于$(document).ready(function() Uncaught ReferenceError: $ is not defined的主要内容,如果未能解决你的问题,请参考以下文章