【问题标题】:Local jQuery.js file not working本地 jQuery.js 文件不起作用
【发布时间】:2012-10-07 18:37:51
【问题描述】:

我从 jQuery.com 下载了 jQuery.js 文件。我已将此文件保存在 3 个位置,包括 JRE/Lib 和桌面(我的 HTML 文件调用它的位置),以确保 jQuery.js 文件被发现。我将此 js 文件引用为:

<head>
        <script type="text/javascript" src="jquery.js"></script>
    <script type="text/javascript">
        $(function(){
            $("#clas").click(function(){
                $(this).hide();
            });
        });
    </script>
</head>

<body>
    <p id="clas"> Hello</p>
    <p>Hi</p>
</body>

当我在 Mozilla 浏览器上运行这个 HTML 文件时,我预计单击它时“Hello”会消失,但它没有。它一如既往地坚固。 但是当我使用 jQuery CDN 时:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js">

当我使用名为 Tryit Editor v1.5 的在线 HTML 编辑器时,它可以正常工作! 似乎只有本地 jQuery.js 没有发挥作用。 JavaScript 工作正常,只有 $() 部分不能。我正在使用jdk1.6。我想知道为什么会出现这种障碍。如何解决?帮助。

【问题讨论】:

  • 您在开发者工具中看到了什么?
  • 您确定名称“jquery.js”(即,如果您在 Windows 上,则不是“jQuery.js”,也不是“jquery.min.js”)?
  • 添加警报($);在运行您的代码以确保它已定义之前...如果不是,那么您的路径需要调整。
  • 'jquery.js' 和 '/jquery.js' 有很多不同
  • 我得到的输出是:你好,但是你好在点击时并没有消失,因为它应该。好像以 $( 开头的代码行尚未执行。本地 jquery.js 不起作用,在 jquery.js 之前有/没有'/'。我已经将 jquery 脚本保存为 jquery.js与 html 文件相同的文件夹(桌面)。

标签: javascript jquery


【解决方案1】:

谢谢!我从一年前在这个论坛上发布的一个类似问题中找到了这个问题的解决方案。这是链接:

jQuery code doesn't work if I'm using a local jquery.js file, why?

问题似乎是 html 和 js 文件的编码不兼容。所以我将 charset 属性添加到 js 的 script 标签中。然后问题和“你好”都消失了!

【讨论】:

    【解决方案2】:

    您的代码对我有用。请检查下面的代码,我刚刚修改了 jquery.js 文件的位置,我的存储在不同的位置。

    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <%--<script type="text/javascript" src="jquery.js"></script>--%>
    <script type="text/javascript" src="../Scripts/jQuery/jquery-1.7.2.js"></script>
    <script type="text/javascript">
        $(function () {
            $("#clas").click(function () {
                $(this).hide();
            });
        });
    </script>
    </head>
    
    <body>
    <p id="clas">Hello</p>
    <p>Hi</p>
    </body>
    
    </html>
    

    我认为你的 js 的位置不正确。您是否使用与此“html”或 jsp 页面相同的 js 路径?或者你有一个单独的文件夹中的 js 文件?

    另外,您可以尝试以下替代方法:

    $("#clas").live("click", function () {
            $(this).hide();
        });
    

    如果这有帮助,请告诉我。

    【讨论】:

    • 谢谢大家。只要调用的 jquery 脚本来自 cdn,另一种方法就可以工作。本地 jquery.js 不起作用,在 jquery.js 之前有/没有'/'。我已将 jquery 脚本作为 jquery.js 保存在与 html 文件相同的文件夹(桌面)中,正如已经验证的那样。 jre/lib 中也有同样的 jquery 文件的副本。
    猜你喜欢
    • 2011-08-21
    • 1970-01-01
    • 2015-02-22
    • 1970-01-01
    • 1970-01-01
    • 2013-02-15
    • 2012-11-11
    • 2018-10-13
    • 1970-01-01
    相关资源
    最近更新 更多