我正在开发一个 JavaScript 函数,试图从 span
获取值并将该值与今天的 date
进行比较
逻辑是:
如果跨度日期超过 30 天,将其背景颜色更改为绿色
如果跨度日期超过 60 天,将其背景颜色更改为蓝色
如果跨度日期超过 90 天,将其背景颜色更改为红色
我目前的跨度是:
<span class="awsome">02/04/2011</span>
var s =`$('.awsome span').text();`
alert(s);
我想将它与:
var d = new Date();
var strDate = d.getFullYear() + "/" + (d.getMonth()+1) + "/" + d.getDate();
我的问题是如何同时比较和更改颜色?
最佳答案
$(document).ready(function() {
function parseDate(str) {
var mdy = str.split('/')
return new Date(mdy[2], mdy[0]-1, mdy[1]);
}
function daydiff(first, second) {
return (second-first)/(1000*60*60*24);
}
var today = new Date();
console.log(today);
$('.awesome').each(function() {
var newDate = parseDate($(this).html());
console.log(newDate);
var difference = Math.abs(daydiff(newDate, today));
if (difference > 90) {
$(this).css('background-color', 'red');
}
else if (difference > 60) {
$(this).css('background-color', 'blue');
}
else if (difference > 30) {
$(this).css('background-color', 'green');
}
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<span class="awesome">02/04/2011</span>
<span class="awesome">02/04/2016</span>
<span class="awesome">02/04/2015</span>
<span class="awesome">09/04/2015</span>
<span class="awesome">10/04/2015</span>
<span class="awesome">11/04/2015</span>
关于javascript - 将元素值与当前日期进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32383456/