我有一个带有日期值的DIV类:
<div class="order-date">May 6, 2013</div>
<div class="order-date">January 10, 2018</div>
<div class="order-date">April 10, 2019</div>
等。
我想隐藏日期div旁边的另一个div:
<div class="download-link">Download proof">,
如果.Erder-Date Div的日期大于一年。
这两个divs都在包装师内部,因此可能需要在循环内?
<div class="account-ads-items">
<div class="download-link">Download proof</div>
<div class="order-date">May 6, 2013</div>
</div>
<div class="account-ads-items">
<div class="download-link">Download proof</div>
<div class="order-date">January 10, 2018/div>
</div>
<div class="account-ads-items">
<div class="download-link">Download proof</div>
<div class="order-date">April 10, 2019</div>
</div>
我试图找到新的日期((的解决方案;功能,但无法提出一个很好的解决方案。
下面的功能通过所有订单日期divs循环并读取其数据。将它们与今天-365进行比较,并隐藏下载链接div。
$('.order-date').each(function() {
let date = new Date($(this).text());
let d = new Date();
let old = date < (d.setDate(d.getDate() - 365)) ;
if (old == true) {
$(this).closest('.account-ads-items').find('.download-link').hide();
}
});
这是一个工作小提琴
以下应为您工作,
$('.order-date').each(function(){
var oneDay = 24*60*60*1000;
var date_string = $(this).data('date');
var parts =date_string.split('-');
var date1 = new Date(parts[0], parts[1] - 1, parts[2]);
var today = new Date();
var diffDays = Math.round(Math.abs((date1.getTime() - today.getTime())/(oneDay)));
alert(diffDays);
if( diffDays > 365 ){
$(this).prev().hide();
}
});