Javascript 如何在一个简单的网页上检查带有日期的H2标签和未来1周的日期
假设我有下面的HTML页面Javascript 如何在一个简单的网页上检查带有日期的H2标签和未来1周的日期,javascript,momentjs,Javascript,Momentjs,假设我有下面的HTML页面 <html> <head> <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment.min.js"></script> </head> <body> <h2 id='invoiceDueDate'>17/08/2018</h2> <h2
<html>
<head>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment.min.js"></script>
</head>
<body>
<h2 id='invoiceDueDate'>17/08/2018</h2>
<h2 id='paymentStatus'>Yet To pay</h2>
</body>
</html>
这个javascript的问题是它检查当前日期,然后添加7天,然后打印结果,而不是在到期日添加7天,然后打印结果。这就是我正在努力解决的问题
我希望这是有道理的
编辑:
也有这样的事情要做吗
if(dueDate >= (dueDate + 7 days)){
invoiceStatus.innerHTML = "Overdue";
}
我已进行了更改并将其添加到codepen中:
看来您的逻辑要求它们完全相同。您可能需要检查是否过期>=dueDate——否则,它将只计算准确过期的内容,而不是过期n天的内容 此外,在某些情况下,您试图点击项目的innerHTML的innerHTML 我在这里要做的改变是: 1) 更改: 致: 2) 更改: 致:
@康纳:我补充了一些更具体的建议。这看起来应该可以解决您的问题。谢谢!,我已经更新了我的代码,并将其添加到代码笔中,这样就可以查看所有更改,而无需再编辑帖子了。@Connor我认为如果您编辑innerHTML(项目#1),那么您的代码应该可以工作。不过,您可能还必须更改日期格式。我做了更改并在代码中对其进行了更新,但它仍然不起作用。如果(dueDate>=(dueDate+7天)){invoiceStatus.innerHTML=“过期”}它现在发生了什么?它到底在改变文本吗?
if(dueDate >= (dueDate + 7 days)){
invoiceStatus.innerHTML = "Overdue";
}
let invoiceStatus = document.getElementById('paymentStatus').innerHTML;
console.log(invoiceStatus);
let invoiceStatus = document.getElementById('paymentStatus');
console.log(invoiceStatus.innerHTML);
if(dueDate === overDue){
if(overDue >= dueDate){