什么是删除我插入的元素的最佳方法after()

时间:2013-01-18 02:05:15

标签: jquery

当我点击一个按钮时,我添加(插入)了一个带有新div的div,并且我不想给新div提供id,因为我希望这个功能可以被其他按钮/锚点等使用。

$("#buttonA").click(function(){
$("#div1").after("<div>bla bla bla</div>");
});

然后通过一个事件我想删除插入的div。 什么是删除插入的div的最佳方法? ...我仍然不能使它通用,我必须在新插入的div上应用ID,然后删除它我使用

$("#newid").remove() 

3 个答案:

答案 0 :(得分:5)

使用.next遍历#div1后的div。

$("#div1").next("div").remove();

答案 1 :(得分:2)

首先使用标记标记插入的元素(在本例中为inserted类):

$("#buttonA").click(function(){
    $("#div1").after("<div class='inserted'>bla bla bla</div>");
});

然后使用您选择的选择器查找插入的元素:

$("#div1 .inserted").remove();

您还可以删除以这种方式插入的每个div

$(".inserted").remove();

如果您打算允许许多不同的事件在同一个容器中创建许多不同的div,然后删除一个特定的div,那么您将需要为每个{{生成唯一的ID' 1}}并将它们映射到调用者以供以后参考,或者只是将创建的div元素映射到调用者以供以后参考。如果不了解更多关于您的用例的话,很难提出强有力的建议。

答案 2 :(得分:0)

如果您只想添加一个div,可以创建一个变量,如下所示:

var newDiv = $("<div>New Div!</div>")

$("#buttonA").click(function(){
 $("#div1").after(newDiv);
});

$("#buttonB").click(function(){
 $(newDiv).remove();
});

选中此jsFiddle以查看其是否有效。

但如果您需要多个元素,那么该解决方案将无效。