繁体   English   中英

如果使用 jQUEry 删除所有行,则删除整个表

[英]Remove a whole table if all rows are removed using jQUery

我有一个表格,每行的一个表格单元格中包含日期。 我使用 Javascript 来检测今天的日期,如果单元格中的日期在今天的日期之前,我会删除整个表格行。

$(function(){
  $('.table-cell-containing-date').each(function(key,value){
    var currentDate = new Date();
    currentDate.setHours(0, 0, 0, 0);
    var date = new Date($(value).text());
    if(date < currentDate){
        $(value).parent().remove();
    }
  });
});

我正在尝试修改它,以便一旦表中某个特定月份的所有日期都在过去(因此被删除),整个表本身就应该被删除。

我什至不知道从哪里开始说实话。 我需要检查整个表以查看在上述 Javascript 触发后每个表中是否存在任何行,如果不存在,则删除整个表。

我已经设置了一个 Fiddle,你会看到第一行被删除,因为日期是过去的。 https://jsfiddle.net/67ktea40/1/

提前谢谢了,

J

添加如下两行

$(function(){
    $('.production-date').each(function(key,value){
        var currentDate = new Date();
        currentDate.setHours(0, 0, 0, 0);
        var date = new Date($(value).text());
        if(date < currentDate){
            $(value).parent().remove();
            var count = $('.tour-dates-table tr').length;
            if(count<=2) $('.tour-dates-table').remove();
        }
    });
});

您的问题的答案的更新版本

$(function(){
    $('.production-date').each(function(key,value){
        var currentDate = new Date();
        currentDate.setHours(0, 0, 0, 0);
        var date = new Date($(value).text());
        if(date < currentDate){
            var currenttable = $(value).parent().closest('table');
            $(value).parent().remove();
            var count = $(currenttable).children('tr').length;
            if(count<=2) { $(currenttable).remove(); }
        }
    });
});

检查它是否为空,然后删除

  function deleteIfEmpty() {
    var tbody = $("table tbody");
    if (tbody.children().length == 0) {
       $("table").remove();
    }
  }

并在每次删除行后调用它。

检查表是否没有 tr 然后将其删除

if (!$('table').find('tr').length){
    $('table').remove();
}

您可以检查表.has()没有production-date元素,然后删除整个表。

var table = $('table.tour-dates-table');
if (table.has(".production-date").length == 0) {
  table.remove();
}

DEMO 中,因为我已经删除了所有包含.production-date tr

首先将事件绑定到表的容器div 。然后检查表行长度。如果为零,则删除表。:

$('#container-div').on('DOMSubtreeModified', function(){
    if($('#myTable tr').length==0){
       $('#myTable').remove();
    }
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM