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

Opo*_*poe 15 jquery append button

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

这是我的问题;

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

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

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

$(function() {
var counter = 0;

  $('a').click(function() {
  $('#box').append('<input type="checkbox" id="checkbox" + (counter) + "/>');
  $('#box').append('<input type="text" id="t1" + (counter) + "/>');
  $('#box').append('<input type="button" value="." id="removebtn" + (counter) + "/>');
  $("#box").append("<br />");
   $("#box").append("<br />");
     counter++;
     });

$('removebtn').click(function() {
remove("checkbox");

});
});
Run Code Online (Sandbox Code Playgroud)

先感谢您

Rei*_*gel 20

我的建议是这样的.

$(function () {
    var counter = 0;

    $('a').click(function () {
        var elems = '<div>'+
              '<input type="checkbox" id="checkbox"' + (counter) + '" class="item"/>' + 
              '<input type="text" id="t1"' + (counter) + '"/>' +
              '<input type="button" class="removebtn" value="." id="removebtn"' + (counter) + '"/>' +
        '</div>';
        $('#box').append(elems);
        $("#box").append("<br />");
        $("#box").append("<br />");
        counter++;
    });

    $('.removebtn').live(function () {
        $(this).parent().remove();   
    });
});
Run Code Online (Sandbox Code Playgroud)

简单的演示

  • 只是提一下,对于任何使用 jQuery 版本 &gt;=1.7 的读者来说,.live() 方法现在已被弃用。我们应该使用 .on() 方法来附加事件处理程序。因此最后几行应该更改为: $(document).on('click', '.removebtn', function () { $(this).parent ()。消除(); (2认同)

xan*_*ndy 5

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

$("#removebtn1234").click(function(){
    $(this).remove();
});
Run Code Online (Sandbox Code Playgroud)

应该管用

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

$('a').click(function() {
  $('#box').append('<input type="checkbox" data-id="' + counter + '"/>');
  $('#box').append('<input type="text" data-id="' + counter + '"/>');
  $('#box').append('<input type="button" value="." class="removebtn" data-id="' + counter + '"/>');
  $("#box").append("<br /><br/>");
  counter++;
});

$(".removebtn").click(function(){
   var id = $(this).data("id");
   $("*[data-id=" + id + "]").remove();
});
Run Code Online (Sandbox Code Playgroud)