使用jQuery删除元素onclick(包括删除按钮本身)

我知道有一些问题看起来像我的,但在这种情况下,我想要删除删除按钮,我不知道我怎么能这样做。

这是我的问题;

单击追加按钮时,我使用jQuery追加3个元素。 包括删除按钮。

我想要这个删除按钮来删除它自己和其他两个元素。 计数器应该是相同的Id,但我不确定我是否用jQuery做了正确的方法。

如何删除三个元素,包括删除按钮onclick?

$(function() { var counter = 0; $('a').click(function() { $('#box').append(''); $('#box').append(''); $('#box').append(''); $("#box").append("
"); $("#box").append("
"); counter++; }); $('removebtn').click(function() { remove("checkbox"); }); });

先感谢您

我的建议是这样的。

 $(function () { var counter = 0; $('a').click(function () { var elems = '
'+ '' + '' + '' + '
'; $('#box').append(elems); $("#box").append("
"); $("#box").append("
"); counter++; }); $('.removebtn').live(function () { $(this).parent().remove(); }); });

简单的演示

假设你的删除按钮的id是#removebtn1234。 然后

 $("#removebtn1234").click(function(){ $(this).remove(); }); 

应该管用

但是为了更容易操作多个项目,我建议您修改为以下内容:

 $('a').click(function() { $('#box').append(''); $('#box').append(''); $('#box').append(''); $("#box").append("

"); counter++; }); $(".removebtn").click(function(){ var id = $(this).data("id"); $("*[data-id=" + id + "]").remove(); });

这是一个解决方案(它似乎比它应该更麻烦,但我不能把手指放在它上面)。

 $(function() { var counter = 0; $('a').click(function() { var checkBox = $(''), textBox = $(''), removeButton = $(''), containerDiv = $("
"); removeButton.click(function(e) { e.preventDefault(); containerDiv.remove(); }); containerDiv .append(checkBox) .append(textBox) .append(removeButton); counter++; $("#box").append(containerDiv); }); });

在这个解决方案中,我创建了一个jQuery引用的变量。 这样我们可以调用checkBox.remove()类的东西,它只会引用该复选框(不试图计算出URL)。

我对它进行了一些修改并删除了
标签并将所有内容包装在

。 这样你就可以删除容器div并且所有元素都将被删除。

示例: http : //jsfiddle.net/jonathon/YuyPB/