如何将对象追加到页面后删除()?

时间:2013-05-20 20:22:26

标签: javascript jquery dom

我正在尝试使用jQuery来允许用户指定一个可以删除的对象池。

我希望用户能够单击对象列表以将其添加到池中,如果他们希望从池中删除任何对象,请单击池中的对象来执行此操作。

$(document).ready(function() {
    $('.object').click(function() {
        var typeOfObject = $(this).attr('id'); 
        $('#poolofobjects').append('<td><div class="selected_object">' + typeOfObject + '</div></td>');
    });
    $('.selected_object').click(function() {
        $(this).remove();
    }); 
});

将对象添加到对象池中工作正常,但我似乎无法删除已添加到池中的对象。

3 个答案:

答案 0 :(得分:4)

试试这个 - (你需要使用事件委托

$("#poolofobjects").on('click',".selected_object",function(){
  $(this).closest("td").remove();
});

答案 1 :(得分:1)

这是因为当你的选择器运行时,页面中不存在该对象,因此事件处理程序不会添加到它。

使用on()代替 - http://api.jquery.com/on/

答案 2 :(得分:0)

此代码正在运行,您可能希望删除selected_objects的td标记。你可以尝试这段代码;

$('.selected_object').click(function() {
    $(this).parent().remove();
});