繁体   English   中英

突出显示表格行中的最新日期

[英]Highlight most recent date from a table row

我有下表,并且我试图找到一种方法来向具有最新日期/时间的单元格(class =“ dateRow”)添加“突出显示”类。 在这种情况下,它将是第四位,日期为“ 2013-05-30”。

我尝试了各种选择,但似乎无法使其正常工作。 有人可以给我指路,因为我一直在努力解决这个问题,而且似乎还不太能使它正常工作。

<table>
    <tr class="topRow"> 
        <td>Yes</td>    
        <td class="dateRow">2013-05-23 13:53:20</td>    
        <td class="dateRow">2013-05-21 13:53:21</td>    
        <td class="dateRow">2013-05-29 13:53:22</td>    
        <td class="dateRow">2013-05-30 13:53:23</td>    
        <td class="dateRow">2013-05-29 13:53:24</td>    
        <td class="dateRow">2013-05-28 13:53:19</td>    
        <td>Some Text</td>  
        <td class="dateRow">2013-05-27 13:53:18</td>
    </tr>
</table>

我尝试适应的最新JS如下:

<script>
$(window).load(function()
    { 
        $('.thisRow').each(function() {
            var $tds = $(this).children('td'),
                max = null,
                maxIndex = null;

        $tds.each(function() {
            var value = +$(this).text().substr(1);
            if(isNaN(value)) {
             if(!max || value > max) {
                 max = value;
                maxIndex = $(this).index();
             }
        }
        });
    if(maxIndex !== null) {
        $tds.eq(maxIndex).addClass('highlight');
    }
});
    }
);
</script>

我认为需要修改的是NaN,因为这至少突出显示了一个单元格,尽管最后一个。

问题不在于您的代码,而是日期格式 请更改为:

<tr class="topRow"> 
    <td>Yes</td>    
    <td class="dateRow">2013/05/23 13:53:20</td>    
    <td class="dateRow">2013/05/21 13:53:21</td>    
    <td class="dateRow">2013/05/29 13:53:22</td>    
    ...

上面的格式几乎适用于所有浏览器。 有关更多信息,请参考以下链接:

您没有将这个问题标记为jQuery,但是显示了一些jQuery代码,因此我假设jQuery是可以接受的。

遍历所有日期时,请跟踪最大值。 诀窍是将您的日期格式转换为可接受的javascript日期格式:

$(function () {
    //keep track of max values
    var maxCell = undefined;
    var maxVal = undefined;

    $('.dateRow').each(function () {
        var that = $(this);
        var dt = new Date(that.text().replace(' ', 'T')); //convert to js date
        if (!maxCell || dt > maxVal) {
            //update max values
            maxCell = that;
            maxVal = dt;
        }
    });
    maxCell.addClass('highlight'); //highlight cell with max value
});

工作示例。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM