您好我在使用波纹管代码
时遇到“未捕获的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>
答案 0 :(得分:10)
您好像不导入jquery。这些$函数附带了这个非标准(但非常有用)的库。
在那里阅读教程:http://docs.jquery.com/Tutorials:Getting_Started_with_jQuery 它从如何导入库开始。
答案 1 :(得分:9)
无需使用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文件,您可以检查以上答案
答案 2 :(得分:7)
将此代码放入<head></head>
代码:
<script type="text/javascript" src="http://code.jquery.com/jquery-1.10.0.min.js"></script>
答案 3 :(得分:3)
如果您确定包含jQuery,请尝试将 $ 替换为 jQuery ,然后重试。
像
这样的东西jQuery(document).ready(function(){..
如果你收到错误,你仍然没有包含jQuery。
答案 4 :(得分:2)
我知道这是一个老问题,大多数人都回答了很好的答案。但需要参考,希望能节省别人的时间。检查你的功能:
$(document).ready(function(){}
在加载JQuery库后,被称为
答案 5 :(得分:1)
许多其他人在上面回答了你的问题。当您的脚本找不到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>
`
这可能是一些语法错误。请原谅我,因为我是用手机写的。感谢
答案 6 :(得分:0)
请记住,您必须首先加载jquery脚本,然后加载脚本js
public static class ServiceProviderExtensions
{
public static TResult CreateInstance<TResult>(this IServiceProvider provider) where TResult : class
{
ConstructorInfo constructor = typeof(TResult).GetConstructors()[0];
if(constructor != null)
{
object[] args = constructor
.GetParameters()
.Select(o => o.ParameterType)
.Select(o => provider.GetService(o))
.ToArray();
return Activator.CreateInstance(typeof(TResult), args) as TResult;
}
return null;
}
}
按顺序读取Html!
答案 7 :(得分:0)
$
是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,该链接到许多将为您托管库的地方。
(注意:其他一些库提供了$
函数,而浏览器具有本机$
变量,这些变量仅在开发人员工具控制台中可用,但这个问题与之无关)。