删除使用jQuery动态创建的元素

时间:2017-04-10 16:28:04

标签: javascript jquery

我用jQuery创建了一个元素和文本来覆盖另一个元素:

$("<div></div>").text("winner")
                .css( {position:"absolute", top:"48%", left:"40%", zIndex:9999} )
                .appendTo( $(".square2").css({position:"relative"}) )

之后我需要删除它,所以我检查了Chrome中元素的位置:

<div class="square2">
   <p>Something</p>
   <p>Something</p>
   <table></table>
   <div>winner</div>
</div>

最后我尝试将其选为最后一个孩子:

$("div.square:last-child").remove();

但是它删除了div.square的所有子节点,而不仅仅是最后一个节点。(???)

4 个答案:

答案 0 :(得分:1)

你可以使用它:

var el = $("<div></div>").text("winner")
                    .css({
                            position:"absolute",
                            top:"48%",
                            left:"40%",
                            zIndex:9999,
                    });
    el.appendTo($(".square2").css({position:"relative"}));
    el.remove();

答案 1 :(得分:1)

要删除.square中的最后一个div,您可以使用:

$("div.square div:last-child").remove();

希望他的帮助。

$("div.square div:last-child").remove();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<div class="square">
   <p>Something</p>
   <p>Something</p>
   <table></table>
   <div>winner1</div>
   <div>winner2</div>
   <div>winner3</div>
</div>

答案 2 :(得分:0)

&#13;
&#13;
$(document).ready(function(){
  $("<div>winner1</div>")
                  .css({
                          position:"absolute",
                          top:"48%",
                          left:"40%",
                          zIndex:9999,
                        }).appendTo($(".square2").css({position:"relative"}));

    /*binding the rmeove on click of button. Can change it according to your needs.*/
    $("#remove").click(function(){
      $('.square2 div:last-child').remove();
    });

});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="square2">
     <p>Something</p>
     <p>Something</p>
     <table></table>
   <div>winner</div>
</div>
<button type="button" id="remove">Remove</button>
&#13;
&#13;
&#13;

希望这有帮助。

答案 3 :(得分:0)

如果您对纯jQuery答案没问题,可以使用以下内容:

$('.square').children().filter('div').last().remove()

这将使用类square的元素,选择所有它(或它们)的子元素,过滤所以只选择div个元素,通过仅选择最后一个来缩小该列表中的元素,然后最终删除该元素。希望这是你想要的。