我是 JavaScript/HTML 新手。
我正在比较两个日期:
当前日期(d1)
FME Workbench 运行日期 (d2)
如果 d1 = 2,标题将 (d2) 显示为绿色 - 这有效。
如果 d1 != d2,则会创建警报(有效),并且页面顶部的 (d2) 日期应为红色。不幸的是什么也没发生。
我知道会发生这种情况,因为 d1 是一个字符串,而 d2 是一个数字。然而,删除 d1 的 toString() 会得到 2033 作为日期,而将其应用于 d2 会导致警报和标题将 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>
关于javascript - 如何根据 JavaScript 条件更改标题颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56056675/