1

在使用带有此代码的在线编辑器时,我注意到:

<!DOCTYPE html>
<html>

    <head>
        <script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js">
           $(document).ready(function () {
              $("button").click(function () {
                  $("p").hide();
              });
           });
        </script>
        <script>

        </script>
    </head>

    <body>
         <h2>This is a heading</h2>

        <p>This is a paragraph.</p>
        <p>This is another paragraph.</p>
        <button>Click me</button>
    </body>

</html>

该代码和一切都在在线编辑器上运行良好,但是,添加直接复制到 HTML 文件中的相同代码不会产生所需的结果。我究竟做错了什么?它也适用于 jsfiddle,但我想知道为什么纯源(上图)不起作用。我在任何处理 jQuery 的网站上找到的所有代码示例都是这样的。

4

3 回答 3

6

当您使用前缀指定脚本 url 时//,浏览器会自动应用当前文档的协议 - 在您的情况下很可能file:

要解决此问题,请从 Web 服务器(例如:apache)运行它或将http://其用作 jquery 脚本 url 的前缀。

于 2013-05-23T17:22:59.390 回答
0

因为它会尝试从以下位置获取 jQuery:

file://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js
于 2013-05-23T17:22:58.903 回答
-1

https://如果没有 Web 服务器,或者http://如果您在没有 Web 服务器的情况下进行开发,它将无法工作。

如果您将该文件上传到服务器,它会起作用。

HTTP错字?

从上面的链接:

使用无协议引用时要记住的主要警告是,它将在通过 file:/// 加载的页面上失败(即直接从磁盘加载到浏览器的 HTML 页面)。因此,如果您碰巧在没有 Web 服务器的情况下进行开发,请务必在 URL 中包含 http: 协议,但不要担心会忽略它。

于 2013-05-23T17:20:30.090 回答