3

我正在尝试使用 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();
    }); 
});

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

4

3 回答 3

4

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

$("#poolofobjects").on('click',".selected_object",function(){
  $(this).closest("td").remove();
});
于 2013-05-20T20:24:47.730 回答
1

这是因为当您的选择器运行时,该对象在页面中还不存在,所以事件处理程序没有添加到它。

改用 on() - http://api.jquery.com/on/

于 2013-05-20T20:25:42.000 回答
0

这段代码正在运行,也许你想删除 selected_objects 的 td 标签。你可以试试这个代码;

$('.selected_object').click(function() {
    $(this).parent().remove();
}); 
于 2013-05-20T20:26:06.337 回答