javascript - 在本地主机上查看页面时 jQuery 脚本不起作用

标签 javascript jquery html apache macos

我刚刚开始第一次在 Mac 上玩,我创建了一个非常简单的 HTML 页面,当单击 h1 标记时,它使用 jQuery 进行简单的文本交换。

当我不通过网络服务器查看页面而是直接在 Safari 中打开它时 (file:///Applications/xampp/xamppfiles/htdocs/test/mypage.html) 它按预期工作。但是,当我尝试通过 Apache ( http://localhost/test/mypage.html) 查看时,它不起作用。

代码如下:

<html>  
    <head>  
        <title>My Awesome Page</title>  
        <script type="text/javascript" src="jquery.js"></script>  
        <script type="text/javascript" charset="utf-8">  
            function sayHello()  
            {   $('#foo').text('Hi there!');  
            }  
        </script>  
    </head>  
    <body>  
        <h1 id="foo" onclick="sayHello()">Click me!</h1>  
    </body>  
</html>

我在 Mac 上遗漏了什么吗?不会是 Apache 设置,因为它的客户端代码......对吗?

我可能还应该提到我加载了 XAMPP 来运行 Apache 和 MySQL。我已经使用一个简单的 PHP 文件测试了 Apache 以确保其正常工作。

史蒂夫

最佳答案

使用 Firebug 并访问页面。可能是罪魁祸首的一件事是 Web 服务器由于文件权限而无法打开 jquery.js 文件。 Firebug 将显示页面中是否加载了 jQuery,即使您可以在“控制台”选项卡中即时添加 jQuery 代码。

如果您使用 Safari 访问它,请使用 Web Inspector 并查看控制台选项卡中是否显示任何错误。

最后一件事,养成避免的习惯onclick ,改为这样做:

<script type="text/javascript" charset="utf-8">
  function sayHello()
  {
    $('#foo').text('Hi there!');  
  }
  //wait DOM loaded
  jQuery(function($){
    $('#foo').click(function(){
      sayHello();
    });  
  });
</script>

另外,js代码最好放在页尾附近,</body>之前,因此它不会阻止并发页面元素的加载。

关于javascript - 在本地主机上查看页面时 jQuery 脚本不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2166689/

相关文章:

javascript - 使对象结构可克隆

单击 'Submit' 按钮时,Javascript 函数会触发两次

javascript - 避免 IE 抛出 : Error: 'console' is undefined 的常见习语

javascript - 将数组的大小/长度减少到一定的大小/长度

javascript - jQuery根据节的索引滚动到节

javascript - 有没有办法确定一个函数是否在文档就绪中运行?

javascript - 我想在表单中使用相同的按钮首先添加元素然后删除元素

javascript - jQuery 单击同一 div 中的两个按钮

jquery - 我无法使菜单下拉淡入淡出效果起作用。 (初学者)

javascript - react 路由器错误: useNavigation must be used within a data router