如何根据 JavaScript 条件更改 Header 颜色

How to alter Header Colour based on JavaScript conditions

我是 JavaScript/HTML 的新手。

我正在比较两个日期:

  1. 当前日期 (d1)

  2. 日期 FME Workbench 是 运行 (d2)

如果 d1 = 2 Header 以绿色显示 (d2) - 这有效。

如果 d1 != d2 警报被创建(有效)并且页面顶部的 (d2) 日期应该是红色的。不幸的是没有任何反应。

我知道这是因为 d1 是一个字符串,而 d2 是一个数字。但是,删除 d1 的 toString() 会给我 2033 作为日期,而将其应用于 d2 会导致 Alert 和 Title 将 d2 表示为 [Window Object]。

var now = new Date();
var y = now.getFullYear().toString();
var m = (now.getMonth() + 1).toString();
var d = now.getDate().toString();
(d.length == 1) && (d = '0' + d);
(m.length == 1) && (m = '0' + m);
var d1 = y + m + d;

var d2 =  toString(20190508) //this number is pulled from FME



if (d1 != d2) {      
  alert("ACHTUNG: Die FME Server Log Workbench wurde heute (" + d1 + ") NICHT ausgeführt! \n\nLetzte Ausführung: " + d2);

  var Titel = "Letzte Ausführung: " + d2.fontcolor("red");
  document.getElementById("demo").innerHTML = Titel;


} else {
  var Titel = "Letzte Ausführung: " + d1.fontcolor("green");
  document.getElementById("demo").innerHTML = Titel;
}
<h1 id="demo"></h1>

因此我不确定如何着手纠正这个问题。谢谢你的时间

您必须像这样 (20190508).toString() 将整数转换为字符串。你犯了一个错误,这就是你得到 window.object.

的原因

试试这个代码。

var now = new Date();
var y = now.getFullYear().toString();
var m = (now.getMonth() + 1).toString();
var d = now.getDate().toString();
(d.length == 1) && (d = '0' + d);
(m.length == 1) && (m = '0' + m);

var d1 = y + m + d;

var d2 =  (20190508).toString() //this number is pulled from FME

if (d1 != d2) {
  alert("ACHTUNG: Die FME Server Log Workbench wurde heute (" + d1 + ") NICHT ausgeführt! \n\nLetzte Ausführung: " + d2);

  var Titel = "Letzte Ausführung: " + d2.fontcolor("red");
  document.getElementById("demo").innerHTML = Titel;

} else {
  var Titel = "Letzte Ausführung: " + d1.fontcolor("green");
  document.getElementById("demo").innerHTML = Titel;
}
<h1 id="demo"></h1>