有多个表行。具有“日期”类的表格单元格可以包含日期或值“永久”。如果有一个日期,并且这个日期大于今天的日期,则应该用红色着色。
我尝试过(但不会工作):
if(($(".dates").getDate() < new Date()) != -1) {
$(".dates").style.color = "green";
}
HTML:
<table>
<tr>
<td>Permanent</td>
</tr>
<tr>
<td>Permanent</td>
</tr>
<tr>
<td>2.05.2015</td>
</tr>
</table>
答案 0 :(得分:0)
$(".dates").each(function(){
if(new Date($(this).html()) < new Date()) {
$(this).css("color", "green");
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
<tr>
<td>abc</td>
<td class="dates">2016-10-10</td>
<td>abc</td>
</tr>
<tr>
<td>abc</td>
<td class="dates">2016-09-10</td>
<td>abc</td>
</tr>
<tr>
<td>abc</td>
<td class="dates">2016-08-10</td>
<td>abc</td>
</tr>
<tr>
<td>abc</td>
<td class="dates">2016-11-10</td>
<td>abc</td>
</tr>
</table>
答案 1 :(得分:0)
您需要确保处理格式正确的日期,或使用Moment.js之类的库。如果您正在处理正确的日期,则可以使用new Date()
将单元格中的日期与今天的日期进行比较,并有条件地应用一些CSS。
$(document).ready(function(){
$('.date').each(function(){
if (new Date($(this).text()) > new Date()) {
$(this).css('background-color', 'red');
}
});
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
<tr><td class="date">Tue Oct 04 2016 01:24:37 GMT-0600 (MDT)</td></tr>
<tr><td class="date">Mon Oct 03 2016 01:24:37 GMT-0600 (MDT)</td></tr>
<tr><td class="date">Fri Oct 07 2016 01:24:37 GMT-0600 (MDT)</td></tr>
<tr><td class="date">Mon Oct 03 2016 01:24:37 GMT-0600 (MDT)</td></tr>
<tr><td class="date">Permanent</td></tr>
<tr><td class="date">Sat Oct 05 2016 01:24:37 GMT-0600 (MDT)</td></tr>
<tr><td class="date">Sun Oct 07 2016 01:24:37 GMT-0600 (MDT)</td></tr>
<tr><td class="date">Mon Oct 08 2016 01:24:37 GMT-0600 (MDT)</td></tr>
<tr><td class="date">Tue Oct 09 2016 01:24:37 GMT-0600 (MDT)</td></tr>
<tr><td class="date">Permanent</td></tr>
<tr><td class="date">Wed Oct 10 2016 01:24:37 GMT-0600 (MDT)</td></tr>
</table>
&#13;