从没有服务器的另一个div替换div内容

时间:2016-10-21 16:59:21

标签: javascript jquery html css

所以我目前正在我的个人网站上工作。我的左侧有一个垂直导航。当我点击导航链接时,我想用另一个html文件中的另一个div替换div内容(我可以在所有html页面上复制并粘贴导航代码,但这样效率不高)。

我尝试了.load(),但我相信我需要使用服务器。对于从其他html页面替换内容的基本站点,我该如何实现?

离。

index.html文件

<li><a href="javascript:display_blogs()">Blogs</a></li>
...
<div id="content"></div>

blogs.html文件

<div id="GETBLOG">I am a blog.</div>

app.js文件

function display_blogs() {

  $('#content').load("blogs.html #GETBLOG");
}

因此,当用户点击“BLOGS”链接时,它应显示我是“内容”div中的博客。

我需要一个替代方案,因为我认为.load只能在服务器中使用。如果可能的话,我想在没有服务器的情况下这样做。

4 个答案:

答案 0 :(得分:1)

试试这个jQuery: $('tagName').load( url,[data],[callback] ); 确保将tagName替换为您需要的标记名称。

答案 1 :(得分:1)

$("#pageContent").load('pages/page1.html #divid2load');
// will load the #divid2load div from the html page.

答案 2 :(得分:0)

如果您对某个HTML文件进行AJAX调用,您将获得该文件的内容。

因此,一种方法是将您的内容分解为部分内容,并将其加载到需要的任何地方。

或者,您可以获取该文件,然后通过它解析所需的内容,例如在#GETBLOG中获取内容

答案 3 :(得分:0)

API:.replaceWith http://api.jquery.com/replaceWith/

示例:

$('#div2').replaceWith($('#div1').html());​

工作演示http://jsfiddle.net/M4v4M/

$('#div2').html($('#div1').html());