1

我想要以下功能:

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

我尝试了以下方法,但是有一个问题。如果您单击该行,它会被很好地删除,但是当您通过单击添加行时,#click当我单击它时该行不会被删除。

这是我的代码:

脚本

$(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();

});
})
4

3 回答 3

4

click只是转发到bind,并且只绑定到在创建时bind与 jQuery 对象中的元素匹配的内容。您可能想使用它的参数:onselector

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

在 JSFiddle 上试试

于 2012-05-19T06:16:45.893 回答
1

您应该使用on (tr)将点击处理程序绑定到每一行

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

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

演示

希望这可以帮助

于 2012-05-19T06:17:20.723 回答
0

因为您没有将事件分配给附加的行。尝试像这样附加行:

$('#click').click(function(){
    $('#table').append('<tr><td>&nbsp;</td></tr>');
    $('#table tr:last').click(function(){
        $(this).remove();
    });
}) 
于 2012-05-19T06:17:49.437 回答