在点击</div>上删除动态生成的<div>

时间:2013-02-17 03:48:02

标签: javascript jquery event-delegation

我点击它时尝试<div>。当我尝试使用.live()时,它会告诉我:

  

对象没有方法live()

我使用的是jQuery 1.9版,因此live已被删除。

$(document).ready(function(){
    $('#addhelper').click(function(){
        $('div#containerr').append('<div class ="helpcont"><input type="text" name="helper_caption[]" class="input-large" placeholder="Caption">'+
      '<input type="text" name="helper_url" class="input-large" placeholder="Url">'+
      '<input type="text" name = "helper_source" class="input-large" placeholder="Source"><button class = "remove" type="button">remove</button></div>');
    });

    $("button.remove").on({
        click: function(){
            $(this).remove('div.helpcont');
        }
    });
});

1 个答案:

答案 0 :(得分:4)

$("#containerr").on('click', '.remove', function(){
  $(this).closest('.helpcont').remove();
});

#containerr =动态添加的最近父母

click = event(您可以通过用空格分隔来添加多个事件)

.remove =触发事件的选择器


PS:使用#id之类的选择器而不是element#id。 ID无论如何都应该是唯一的,所以不需要通过让jQuery检索所有DIV元素,然后搜索具有给定ID的元素来缓慢地进行。