jQuery:检测表中是否没有剩余行

标签 jquery

我正在尝试检测表中是否还有任何行,一旦没有行,我将显示警报。下面的代码似乎不起作用,有什么想法吗? (表头会剩下一行,这就是我使用索引 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 中)。它检查所述tbodytr 元素的长度。如果等于0,则会显示警报。

关于jQuery:检测表中是否没有剩余行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8620739/

相关文章:

javascript - 如何实现jQuery Ajax调用的Kendo进度条?

javascript - 在父元素之后稍微淡化子元素

jquery - jquery 多选择器

javascript - 使用 ajax 加载的部分页面无法使用函数

javascript - jQuery,如何预加载图像并在加载图像时得到通知?

javascript - 我如何知道 imgAreaSelect 何时关闭?

javascript - 将鼠标悬停在标签上时显示信息

javascript - 仅在 onclick 之前触发 href 事件

javascript - jvectormap 标记

jquery - 带有 jquery $.ajax 的 Rails