【问题标题】:Conditional Alert in HTML Table [duplicate]HTML表中的条件警报[重复]
【发布时间】:2016-06-01 19:47:14
【问题描述】:

我已经设法根据我的 ERP 系统的输出自动构建一个 HTML 表格,并设法使用 CSS 轻松地对其进行格式化。最后一步是日期字段中的条件格式。如果日期是 从现在开始 7 天之间,则将其设为黄色,否则“无格式”。

我已经从这个网站上获得了几十个例子,我希望你能帮助我做一些基本的日期数学,由于某种原因我无法理解。

现在我的日期字段在 td:nth-child(4) 中,我想将它与当前日期进行比较。

    <script>

    $(document).ready(function() {

            $('table td:nth-child(4)').each(function() {
                var D1 = $(this).text();
                var D2 = new Date();

                if ((D1 - D2) < 4) {
                    $(this).css('backgroundColor', 'RED'); 
                }
                else if((D1 - D2) < 7) && ((D1 - D2) > 4) {
                    $(this).css('backgroundColor', 'YELLOW'); 
                }
                else {
                    $(this).css('backgroundColor', '#99faa0'); 
                }

            });
            event.preventDefault();
    });

    </script>

【问题讨论】:

标签: javascript jquery html css date


【解决方案1】:

您需要正确转换和比较日期。下面是比较日期的示例。

参考:

Get difference between 2 dates in javascript?

var _MS_PER_DAY = 1000 * 60 * 60 * 24;

// a and b are javascript Date objects
function dateDiffInDays(a, b) {
  // Discard the time and time-zone information.
  var utc1 = Date.UTC(a.getFullYear(), a.getMonth(), a.getDate());
  var utc2 = Date.UTC(b.getFullYear(), b.getMonth(), b.getDate());
  return Math.floor((utc2 - utc1) / _MS_PER_DAY);
}

工作样本

https://jsfiddle.net/zsLfh3kj/1/

【讨论】:

  • 如果您发现某个问题已被提出,请将该问题标记为与您找到的问题重复。请不要回答。
  • 谢谢。在此链接和其他链接之间,我能够弄清楚。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-08-10
相关资源
最近更新 更多