[英]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(); }
}
});
});
检查表是否没有 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.