我正在使用在SUCCESS,FAILURE,ERROR和UNKNOWN之间切换的动态字符串。这些字符串使用td class =“status”以HTML格式显示。状态可以根据项目构建失败还是成功而更改。成功应为绿色,失败应为红色,其他所有应为黑色。我有一个for循环创建表。
我正在尝试使用switch语句,使用javascript函数.fontcolor()根据字符串的内容更改字体颜色。该字符串将从status.status
中提取目前,所有内容都在屏幕上正常显示,但字体颜色实际上并未发生变化。我也没有收到任何错误。
for (var i in buildstatuses) {
var status = buildstatuses[i];
switch (status.status) {
case "SUCCESS":
status.status.fontcolor("green")
break;
case "FAILURE":
status.status.fontcolor("red")
break;
default:
status.status.fontcolor("black")
break;
}
$("tr#" + status.id + " td.status").html(status.status)
if (status.status != "SUCCESS") {
var row = $("tr#" + status.id)
row.parent().parent().parent().parent().parent().removeClass("dashboard-success").addClass("dashboard-fail");
row.parent().parent().prepend(row.clone()); // Places Failure at the top by cloning then removing
row.remove();
}
$("tr#" + status.id + " td.date").html(status.date)
console.log(status.id);
}
答案 0 :(得分:1)
我认为你只想改变内联的css颜色:
var statusColor = 'black';
switch (status.status) {
case "SUCCESS":
statusColor = "green";
break;
case "FAILURE":
statusColor = "red";
break;
default:
statusColor = "black";
break;
}
$("tr#" + status.id + " td.status").html(status.status).css('color', statusColor);
答案 1 :(得分:1)
我会将其转移到一个小功能
function ChangeColor(result)
{
var item=$(".status");
if(result=="SUCCESS")
item.css("color","green");
if(result=="FAILURE")
item.css("color","red");
}
你可以这样称呼它
ChangeColor("FAILURE");
或
ChangeColor("SUCCESS");
所以在你的代码中,
for (var i in buildstatuses) {
var status = buildstatuses[i];
ChangeColor(status.status);
//your remaining code to do whatver you want after changing the color
}
答案 2 :(得分:0)
您没有在HTML中使用颜色..
更改
$("tr#" + status.id + " td.status").html(status.status)
到
$("tr#" + status.id + " td.status")
.html(status.status) // set text
.css({color: status.status.fontcolor}); // set color
答案 3 :(得分:0)
您可以使用JavaScript style
函数执行此操作:EX:
document.getElementById('yourId').style.color = 'red';
或使用jquery:
$('#yourid').css('color','red');