【问题标题】:Remove table row if mapped td equals something如果映射的 td 等于某个值,则删除表行
【发布时间】:2017-10-18 11:41:21
【问题描述】:

您好,我有一个事件列表,我只想显示即将发生的事件。 如果日期小于今天的日期,我想删除过去的事件表行。

但我无法删除关联的行?

谢谢

var date = jQuery('tr.Entries').find('td.event-date > a').text();
var dates = jQuery('tr.Entries').find('td.event-date > a').map(function() {
  return jQuery(this).text();
}).get();

var currentDate = new Date();
currentDate = ("0" + currentDate.getDate()).slice(-2) + "/" + ("0" + (currentDate.getMonth() + 1)).slice(-2) + "/" + currentDate.getFullYear();

jQuery.each(dates, function(index, value) {
  if (value < currentDate) {
    console.log("true");
    if (date === value) {
      console.log("true");
      jQuery(date).parent().remove(); //how to map table date to the row and delete the row?
    }
  }
});

【问题讨论】:

  • $(date),但date 是来自.text() 的简单字符串,它是否包含任何选择器?
  • 为什么不做这个服务器端,即如果它是旧的,首先不要输出html,会更有效

标签: javascript jquery date


【解决方案1】:

如果日期小于今天的日期,我想删除过去的事件。

在初始过滤器本身中执行此操作

var currentDate = new Date();
currentDate = ( "0" + currentDate.getDate() ).slice(-2) + "/" + ( "0" + ( currentDate.getMonth() + 1 ) ).slice(-2) + "/" + currentDate.getFullYear();

jQuery( 'tr.Entries' ).find( 'td.event-date > a' ).each( function() {
  var date = jQuery( this ).text();
  if ( date < currentDate )
  {
    jQuery( this ).closest( ".event-date " ).remove(); //remove the parent which has lesser date `a`
  }
});

【讨论】:

  • 您好,感谢您的意见。我想我自己弄糊涂了——我可能需要将date 转换为可读格式进行比较?它正在删除看似随机的日期
  • 您能否以更可验证的方式为您的问题添加相关标记?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-01-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-27
  • 2020-09-16
相关资源
最近更新 更多