简体   繁体   English

如何在使用JQuery切换DIV之后删除附加元素?

[英]How removing an appended element after a DIV is toggled using JQuery?

I have to append an element on a DIV that has toggle function. 我必须在具有切换功能的DIV上附加一个元素。 But when I click on toggle again(when it is toggled) the element that I appended previously is appended again. 但是当我再次单击切换时(切换时),我之前添加的元素会再次添加。 And I end up with two equal elements. 最后,我得到两个相等的元素。

Observation: Consider that I need to append more than one element. 观察:考虑到我需要附加多个元素。 And remove more than one element appended too. 并删除附加的多个元素。

Example: 例:

DIV A DIV A
Element A 元素A

My actions in Javascript using JQuery: 我在Java中使用JQuery的操作:
1) Toggle DIV A and Append Element A = div A and element A show up. 1)切换DIV A并追加元素A = div A,然后显示元素A。
2) Toggle DIV A = div A and element A disappear. 2)切换DIV A = div A,元素A消失。
3) Toggle DIV A and Append Element A again = 3)切换DIV A并再次追加元素A =

DIV A
   Element A
   Element A      

I want only one Element A.(That's the problem, toggle doesn't remove my previous appended element) 我只需要一个元素A。(这就是问题,切换不会删除我之前添加的元素)

My code is something like that: 我的代码是这样的:

$("#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);           
});

That's easy, instead of using append, use html. 这很容易,而不是使用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);            
});

If your DIVA is empty then sch4v4's solution is perfect for you, but if that div already has some content in it and you cannot use .html() then another simple solution to your problem is to keep another empty div inside of your $("#DIVA") instead of appending itself. 如果您的DIVA为空,那么sch4v4的解决方案非常适合您,但是如果该div中已经包含一些内容并且您不能使用.html(),那么解决您问题的另一种简单解决方案是在$()中保留另一个空div。 #DIVA”),而不是附加自身。 Take the following example 请看下面的例子

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

and then in your jquery code 然后在你的jQuery代码

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

Hope that helps. 希望能有所帮助。

Following the suggestions, for now, I'm doing this as a solution: 按照建议,现在,我正在这样做作为解决方案:

$("#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);           
});

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM