如果另一个div中的日期超过一年,则隐藏一个div

时间:2019-05-01 18:40:01

标签: jquery

我有一个带有日期值的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">,

如果.order-date div中的日期早于一年。

这两个div都在包装div内,所以它可能需要在循环内?

<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>

我试图用新的Date()找到一个解决方案;功能,但无法提出一个好的解决方案。

2 个答案:

答案 0 :(得分:1)

下面的函数循环遍历所有订购日期的DIV并读取其数据。将它们与Today-365进行比较,并隐藏下载链接div。

FIREBIRD_LOCK

Here is a working fiddle

答案 1 :(得分:1)

以下应该对您有用,

$('.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();
    }

});