$(document).ready(function(){Uncaught ReferenceError:$未定义

时间:2012-06-02 18:23:34

标签: javascript jquery referenceerror

您好我在使用波纹管代码

时遇到“未捕获的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>

enter image description here

8 个答案:

答案 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,该链接到许多将为您托管库的地方。


(注意:其他一些库提供了$函数,而浏览器具有本机$变量,这些变量仅在开发人员工具控制台中可用,但这个问题与之无关)。