如何使用JavaScript更改字符串字体颜色

如何使用JavaScript更改字符串字体颜色,javascript,jquery,asp.net-mvc-3,Javascript,Jquery,Asp.net Mvc 3,编辑:我正在为我的公司创建一个显示我们所有最新项目的仪表板。我是应用程序开发团队的实习生。仪表板显示项目及其最新版本的名称,以及这些版本的状态 我使用的动态字符串在成功、失败、错误和未知之间变化。这些字符串在HTML中使用td class=“status”显示。状态可以根据项目生成是失败还是成功而改变。成功应该是绿色的,失败应该是红色的,其他的都应该是黑色的。我有一个用于创建表的for循环 我试图使用switch语句,使用javascript函数.fontcolor()根据字符串的内容更改字体颜

编辑:我正在为我的公司创建一个显示我们所有最新项目的仪表板。我是应用程序开发团队的实习生。仪表板显示项目及其最新版本的名称,以及这些版本的状态

我使用的动态字符串在成功、失败、错误和未知之间变化。这些字符串在HTML中使用td class=“status”显示。状态可以根据项目生成是失败还是成功而改变。成功应该是绿色的,失败应该是红色的,其他的都应该是黑色的。我有一个用于创建表的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);
            }

您没有在HTML中使用颜色

改变

$("tr#" + status.id + " td.status").html(status.status)


您可以使用JavaScript
style
function:EX:

document.getElementById('yourId').style.color='red'

或者使用jquery:

 $('#yourid').css('color','red');

我想您只是想更改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);

我将把它移到一个小函数

function ChangeColor(result)
{
    var item=$(".status");
    if(result=="SUCCESS")
        item.css("color","green");
    if(result=="FAILURE")
        item.css("color","red");    
}
你可以这样称呼它

ChangeColor("FAILURE");

所以在你的代码中

for (var i in buildstatuses) {
    var status = buildstatuses[i];
    ChangeColor(status.status);

   //your remaining code to do whatver you want after changing the color
}

示例:

在beimg能够理解这一点之前。。。什么是“状态。状态”或“状态”?什么是一切。。。不过我会试着回答的。Gaby的速度更快,这正是我想要回答的:DYou可以使用JavaScript
style
function:EX:document.getElementById('yourId').style.color='red';或者使用jquery:$('#yourid').css('color','red'),因为项目的设置方式只有一个类用于所有状态(td class=“status”),所以更改css颜色会将所有状态更改为一种颜色。是的!这很好用,非常感谢。我会尽快核实这一点作为答案。
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
}