0

我有一个具有以下元素的 div:

<div id = "menu">

                <a>Elemento1</a><br/>

                <a>Elemento2</a><br/>

                <a>Elemento3</a><br/>

</div>  

每次单击一个元素时,我都希望在此列表旁边添加一个具有不同内容的新 div,具体取决于单击的元素,它应该添加一个不同的列表。我是 web 开发的新手,我发现使用 jQuery 函数.replaceWith()可以做到这一点,但是有什么方法可以使用这个函数,添加我在其他 .html 文件中得到的 div 吗?

谢谢!

4

3 回答 3

1

为什么不只是<div id="content"></div>在菜单之后,然后使用
$("#content").load("your_file.html");

于 2013-02-19T18:45:12.370 回答
1

replaceWith用于将某些 DOM 元素替换为不同的元素。我不认为这个功能可以解决这个问题。

您可以使用.load函数获取 html 文件内容并将其插入到您想要的任何位置。只需将单击事件绑定到每个链接并使用它们的href属性来获取相应的文件。不要忘记在事件结束时返回 false

像这样的东西:

<div id="menu">
     <a href="page1.html">Elemento1</a>
     <a href="page2.html">Elemento2</a>
     <a href="page3.html">Elemento3</a>
</div>
<div id="content"></div>

$("#menu a").click(function(){
   $("#content").load(this.href);
   return false;
});
于 2013-02-19T18:47:27.433 回答
1

要获取另一个 HTML 文件的某个部分,请使用jQueryload函数。在您的情况下,基本用法是:

$('#result').load('ajax/test.html #container_you_want_to_load');

要在链接之后或之前添加元素,您有几个选择。问题是你是否真的需要它。也许定义一个目标 div 就足够了,您将在其中加载您的内容。在这种情况下,上面的示例将非常适合。

<a>但是,如果您想在标签旁边添加元素,请考虑使用afterbeforejQuery 函数。

要即使在您的一个链接上也能获得点击,请检查click

于 2013-02-19T18:53:18.917 回答