请原谅我,我是网络编程的新手。我昨天刚开始使用jQuery,我需要一些帮助。我需要确保用户无法删除表的最后一行。我能够成功使用以下内容:
$(this).closest('tr:not(:only-child)').remove();
但是如果行是最后一行而不是没有做任何事情,我想显示一条警告消息。我尝试了以下方法,但它不起作用:
if( $(this).closest('tr:only-child') ) {
alert('cannot delete last row');
}
else {
$(this).closest('tr').remove();
}
答案 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.'");
}
});
要删除除之外的任何行'noDelete'类名:
$('td').click(
function(){
if (!$(this).closest('tr').hasClass('noDelete')) {
$(this).closest('tr').remove();
}
else {
alert("Can't delete the last row.");
}
});
答案 2 :(得分:0)
如何使用此计算表<tr>
中<tbody>
元素的数量:
$(this).closest('tbody').children('tr').length