我正在尝试检测表中是否还有任何行,一旦没有行,我将显示警报。下面的代码似乎不起作用,有什么想法吗? (表头会剩下一行,这就是我使用索引 1 的原因)
$('.remove_row').live('click', function() {
//If there are no rows left in table, display alert
if ( $(this).parent().parent().parent().children('tr:eq(1)').length == 0) {
alert("no rows left");
}
$(this).parent().parent().remove();
});
编辑:我尝试在警报之前删除,每次删除一行时它都会触发。
<小时/>再次编辑:明白了,需要将索引设置为 2,因为它会在最后一个索引实际从 DOM 中删除之前进行检查。
最佳答案
if ( $(this).closest("tbody").find("tr").length === 0 ) {
alert("no rows left");
}
这会找到被点击元素的最近父级 tbody
(tbody
始终存在于 DOM 中)。它检查所述tbody
中tr
元素的长度。如果等于0,则会显示警报。
关于jQuery:检测表中是否没有剩余行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8620739/