2017-04-06 57 views
0

我有一个jQuery脚本,其中包括.html文件从包含文件夹到我的index.html,它工作得很好。包括来自使用jQuery的不同文件夹的.html文件

var includes = $('[data-include]'); 
jQuery.each(includes, function(){ 
    var file = 'includes/' + $(this).data('include') + '.html'; 
    $(this).load(file); 
}); 

我遇到一个问题,当我尝试包括相同的.html文件,但这次我在子页面的文件夹试图达到同样的效果,但没有被包括在内。

文件夹结构:

index.html 
assets 
includes 
    -login.html 
    -header.html 
subpages 
    -contact.html 

的index.html

 <!-- Include search-bar.html --> 
     <section class="login" data-include="login"></section> 

     <!-- Include header.html --> 
     <header class="logo" data-include="header"></header> 

     <script type="text/javascript" src="assets/lib/js/jquery-3.1.1.min.js"></script> 
     <script type="text/javascript" src="assets/js/script.js"></script> 

contact.html

 <!-- Include search-bar.html --> 
     <section class="login" data-include="login"></section> 

     <!-- Include header.html --> 
     <header class="logo" data-include="header"></header> 

     <script type="text/javascript" src="../assets/lib/js/jquery-3.1.1.min.js"></script> 
     <script type="text/javascript" src="../assets/js/script.js"></script> 

回答

1

要相对于根目录,启动URI与/

v ar file ='/ includes /'+ $(this).data('include')+'.html';

试试吧。

+0

是的,这也是我对这件事的想法,但我已经尝试过了,它不起作用。甚至用index.html搞砸了一些东西,所以包含内容也不起作用。 –

+0

document.location.hostname +'/ includes /'+ $(this).data('include')+'.html';可能有效 – sixerss

+0

不幸的是,它不... –

相关问题