2016-03-07 25 views
0

我必須在具有切換功能的DIV上附加一個元素。但是當我再次點擊切換時(切換時),我以前追加的元素再次追加。我最終得到兩個相同的元素。在使用JQuery切換DIV之後如何移除附加元素?

觀察:考慮我需要追加多個元素。並刪除多個元素。

實施例:
1)切換DIV A和附加元素A = DIV A和元素A:

DIV甲
           元素A

我在Javascript中使用JQuery動作出現。
2)切換DIV A = div A並且元素A消失。
3)切換DIV A和附加元素A再次=

DIV A 
    Element A 
    Element A  

我想只有一個元素A.(這就是問題所在,撥動不會刪除我以前的附加元素)

我的代碼是什麼像這樣:

$("#DIVA").toggle(function(){ 
    var my_div_to_be_appended = "<div>my div<div>"; 
    var my_div_to_be_appended2 = "<div>my div2<div>"; 
    $("DIVA").append(my_div_to_be_appended); 
    $("DIVA").append(my_div_to_be_appended2);   
}); 
+0

的東西,而不是追加的內容,並通過切換使內容可見? – daremachine

+0

如何添加「元素A」並隱藏它,然後切換隻需顯示/隱藏它,很簡單。 – jackJoe

回答

0

這很容易,而不是使用append,使用html。

$("#DIVA").toggle(function(){ 
    var my_div_to_be_appended = "<div>my div<div>"; 
    // This will replace the content every time the toogle function is called. 
    $("DIVA").html(my_div_to_be_appended);    
}); 
+0

它可以工作,如果我只有一個要素追加,情況並非如此。我會更新我的信息。對於那個很抱歉。 – alexscjava

0

如果您DIVA爲空,則sch4v4的解決方案就是您的最佳選擇,但如果該分區中已經有一些內容,你不能使用的.html() 然後又簡單的解決你的問題是保留另一個空的div在您的$(「#DIVA」)而不是自己附加。 看看下面的例子

<div id="DIVA"> 
    <!-- Some other elements here - if any --> 
    <div id="my_dynamic_div"></div> 
</div> 

,然後在你的jQuery代碼

$("#DIVA").toggle(function(){ 
    var my_div_to_be_appended = "<div>my div<div>"; 
    $("#my_dynamic_div").html(my_div_to_be_appended);    
}); 

希望有所幫助。

+0

它可以工作,如果我只有一個元素要追加,情況並非如此。我會更新我的信息。對於那個很抱歉。 – alexscjava

+0

好的,你已經提到你只需要一個元素和以前的元素,所以這是解決上述問題的方法。讓我知道如果我可以幫助你在不同的情況下。 –

0

繼建議,現在,我這樣做是作爲一種解決方案:

$("#DIVA").toggle(function(){ 
    var my_div_to_be_appended = "<div>my div<div>"; 
    var my_div_to_be_appended2 = "<div>my div2<div>"; 
    $("DIVA").html(my_div_to_be_appended + my_div_to_be_appended2);   
});