从是否有日期获取日期

时间:2016-10-04 07:19:26

标签: javascript jquery

有多个表行。具有“日期”类的表格单元格可以包含日期或值“永久”。如果有一个日期,并且这个日期大于今天的日期,则应该用红色着色。

我尝试过(但不会工作):

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>

2 个答案:

答案 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。

&#13;
&#13;
$(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;
&#13;
&#13;