jQuery不要删除最后一行表

时间:2011-07-12 17:49:32

标签: jquery

请原谅我,我是网络编程的新手。我昨天刚开始使用jQuery,我需要一些帮助。我需要确保用户无法删除表的最后一行。我能够成功使用以下内容:

$(this).closest('tr:not(:only-child)').remove();

但是如果行是最后一行而不是没有做任何事情,我想显示一条警告消息。我尝试了以下方法,但它不起作用:

if( $(this).closest('tr:only-child') ) {
    alert('cannot delete last row');
}
else {
    $(this).closest('tr').remove();
}

3 个答案:

答案 0 :(得分:4)

尝试:

if( $(this).closest('tr').is('tr:only-child') ) {
    alert('cannot delete last row');
}
else {
    $(this).closest('tr').remove();
}

答案 1 :(得分:1)

删除行但允许任何行成为最后一行(不可删除):

$('td').click(
    function(){
        if ($(this).closest('table').find('tr').length > 1) {
            $(this).closest('tr').remove();
        }
        else {
            alert("Can't delete rows of class 'noDelete.'");
        }
    });

JS Fiddle demo

要删除之外的任何行'noDelete'类名:

$('td').click(
    function(){
        if (!$(this).closest('tr').hasClass('noDelete')) {
            $(this).closest('tr').remove();
        }
        else {
            alert("Can't delete the last row.");
        }
    });

JS Fiddle demo

答案 2 :(得分:0)

如何使用此计算表<tr><tbody>元素的数量:

$(this).closest('tbody').children('tr').length