0

所以我有一个菜单:

<nav id="side-nav">
<ul>
<li><a href="consulting">Consulting</a></li>
etc..

jQuery 读取

$(document).ready(function() {
  $( "#side-nav ul li a" ).on( "click",function() {
   $('#services-content').load('side-menu.html #' + $(this).attr('href'));
    return false;
  });
});

并有一个与 href 对应的 id 的 html 文件。它不加载。以为我完全按照 jquery 网站。怎么了 ?

即使我对其进行了硬编码,也没有加载任何内容:

<div id="services-content">

</div><!--load services content in here-->

<script type="text/javascript">
   $(document).ready(function() {
     $('#services-content').load('side-menu.html #consulting');
   });
</script>
4

2 回答 2

0

读取本地文件不能在 Chrome 中使用 Ajax 加载,但可以在 Firefox 上使用

您是否在您的机器上本地工作,没有任何网络服务器?Chrome 不允许通过 AJAX 从您的文件系统加载文件(请参阅错误报告)。

您可以使用 XAMPP 或类似的东西通过本地网络服务器提供您的文件。

如果您在 Windows 上,XAMPP 可能是启动和运行本地网络服务器的最简单方法:http: //www.apachefriends.org/en/xampp.html

在 Mac 上,您也可以使用 MAMP http://www.mamp.info/en/index.html

如果您使用 Chrome 启动它,您也可以强制 Chrome 允许在 Windows 上访问本地文件,此 stackoverflow 问题--allow-file-access-from-files中的更多信息

于 2013-11-10T02:51:56.883 回答
0

看起来像一个范围问题。我没有测试这个,所以不要拍我。

$(document).ready(function() {
  $( "#side-nav ul li a" ).on( "click",function(e) {
    e.preventDefault();

    var $this = $(this);
    $('#services-content').load('side-menu.html#' + $this.attr('href'));
  });
});
于 2013-11-10T03:05:22.020 回答