2013-02-19 126 views
0

我有了這個元素一個div:使用.replaceWith()jQuery的

<div id = "menu"> 

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

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

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

</div> 

每次要素之一被點擊我想這個列表旁邊添加不同內容的新的div,這取決於哪個元素被點擊,它應該添加一個不同的列表。我是網絡開發新手,我發現使用jQuery功能.replaceWith()可以做到這一點,但有什麼辦法可以使用這個功能,添加我在其他.html文件中獲得的div嗎?

謝謝!

+1

什麼你說的「其他」 .html文件意思? jQuery僅適用於當前加載的HTML文件。 – 2013-02-19 18:44:01

回答

1

得到另一個HTML文件的某個部分,使用jQuery load功能。基本用法如下:

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

要在鏈接之後或之前添加元素,您有幾個選擇。問題是如果你真的需要它。也許這足以定義一個目標div,你將加載你的內容。在這種情況下,上面的例子會很合適。

如果您想要在<a>標記旁添加元素,請考慮使用afterbefore jQuery函數。

爲了趕上甚至在你一個鏈接的點擊,檢查click

1

爲什麼不在菜單後只有<div id="content"></div>,然後用
$("#content").load("your_file.html");

+0

它工作!謝謝! – CarlosT 2013-02-19 19:51:42

1

replaceWith用於替換一些不同的DOM元素。我不認爲這個功能可以解決這個問題。

您可以使用.load函數獲取html文件內容並將其插入到任意位置。只需將點擊事件綁定到每個鏈接,並使用它們分別獲取相應的文件。不要忘記在活動結束時返回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; 
});