24

嗨,我在使用波纹管代码时遇到“未捕获的 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>

在此处输入图像描述

4

8 回答 8

14

看来您不导入jquery。这些 $ 函数带有这个非标准(但非常有用)的库。

阅读那里的教程:http://docs.jquery.com/Tutorials: Getting_Started_with_jQuery 它从如何导入库开始。

于 2012-06-02T18:25:00.570 回答
12

无需使用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 文件,您可以查看上面的答案

于 2012-06-04T04:21:06.327 回答
10

将此代码放在<head></head>标签中:

<script type="text/javascript" src="http://code.jquery.com/jquery-1.10.0.min.js"></script>
于 2013-06-05T12:56:35.000 回答
3

如果您确定包含 jQuery,请尝试将$替换为jQuery 并重试。

就像是

jQuery(document).ready(function(){..

尽管如此,如果您遇到错误,您还没有包含 jQuery。

于 2012-06-02T19:33:30.573 回答
3

我知道这是一个老问题,大多数人都给出了很好的答案。但仅供参考,希望能节省别人的时间。检查您的功能是否:

$(document).ready(function(){}

加载 JQuery 库 调用

于 2015-10-19T02:03:13.803 回答
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>

`

这可能是一些语法错误。请原谅我,因为我是用手机写的。谢谢

于 2012-06-03T07:33:13.567 回答
0

$是jQuery库提供的一个函数,除非你加载了jQuery库,否则它是不可用的。

您需要添加jQuery(通常使用<script>可以指向库的本地副本或托管在 CDN 上的元素的元素)。确保您使用的是当前支持的版本:有关此问题的许多答案建议使用 jQuery 的 1.x 或 2.x 版本,它们不再受支持并且存在已知的安全问题。

<script src="/path/to/jquery.js"></script>

确保在运行任何依赖它的脚本之前加载 jQuery。

jQuery 主页将有一个下载当前版本库的链接(在撰写本文时它是 3.5.1,但在您阅读本文时可能会发生变化)。

在页面的下方,您将找到一个关于将 jQuery 与 CDN 结合使用的部分,该部分链接到将为您托管库的许多地方。


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

于 2020-10-27T10:33:52.453 回答
0

请记住,您必须先加载 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 是按顺序读取的!

于 2016-10-30T23:25:36.643 回答