使用jQuery删除行

时间:2012-05-19 06:11:59

标签: jquery

我想要以下功能:

当用户点击任何一行时,它将被删除。

我尝试过以下操作,但是有问题。如果单击该行,它会被删除,但是当您通过单击#click添加行时,单击该行时不会删除该行。

这是我的代码:

SCRIPT

$(document).ready(function(){
$('#click').click(function(){
    $('#table').append('<tr><td>&nbsp;</td></tr>');
})
$('#remove').click(function(){
    $('#table tr:last').remove();
})
$('#table tr').click(function(){

$(this).remove();

});
})

3 个答案:

答案 0 :(得分:4)

click只转发到bind,而bind仅绑定与创建时jQuery对象中的元素匹配的内容。您可能希望将on与其selector参数一起使用:

$('#table').on('click', 'tr', function() {
    $(this).remove();
});
JSFiddle上的

Try it

答案 1 :(得分:1)

您应使用on(tr)

将点击处理程序绑定到每一行
  

.on()方法将事件处理程序附加到当前选定的元素集

$('your-table').on('click','tr',function(){
   $(this).remove();        
});

<强> DEMO

希望这有帮助

答案 2 :(得分:0)

因为您没有将事件分配给附加行。尝试添加如下行:

$('#click').click(function(){
    $('#table').append('<tr><td>&nbsp;</td></tr>');
    $('#table tr:last').click(function(){
        $(this).remove();
    });
})