3

我的列名称为“状态”。如果状态为“通过”,我需要以绿色显示该行。如果“失败”则为红色。如何在javascript中做到这一点?

for (i=0; i < rows.length; i++) {
    var value = rows[i].getElementsByTagName("td")[0].firstChild.nodeValue;
    if (value == 'Pass') {
        rows[i].style.backgroundColor = "red";
    }
}

我试过了,但浏览器不支持。请帮忙。谢谢。

4

5 回答 5

0
for (i=0; i < rows.length; i++) {
    var value = document.getElementsByTagName("td")[i].firstChild.nodeValue;
    if (value == 'Pass') {
        document.getElementsByTagName("td")[i].style.backgroundColor = "green";
    }
else{ document.getElementsByTagName("td")[i].style.backgroundColor = "red";}
}

试试这段代码(虽然我还没试过,这就是你需要的想法)

于 2012-12-14T11:38:38.440 回答
0

使用 jQuery,您可以尝试:

function CheckStatus(id) {
    var rows = $('#'+id).find("tr")
    $(rows).each(function(){
        var value =  $(this).find('td:first').text();
        if (value == 'Pass') {
            $(this).css('background', 'red');
        }
    });
}
于 2012-12-14T11:30:19.710 回答
0

我会使用类名而不是设置样式,但试试这个:

for (i=0; i < rows.length; i++) { 
   var value =  = rows[i].cells[0].firstChild.nodeValue;
   if (value == 'Pass') {
        rows[i].className = "red";
    } 
}
于 2012-12-14T11:42:29.130 回答
0

样式只能在 HTML 元素上实现,例如文本框、选择、文本等。在您的情况下,您尝试设置“行”值的样式,这是不正确的。您需要选择 HTML 元素,然后对其进行样式设置。

这样的事情可能会有所帮助:

for (i=0; i < rows.length; i++) {
    var value = rows[i].getElementsByTagName("td")[0].firstChild.nodeValue;
    if (value == 'Pass') {
        rows[i].getElementsByTagName("td")[0].firstChild.style.backgroundColor = "red";
    }
}
于 2017-07-05T09:21:46.173 回答
-1

you can try using the Jquery

   $(document).ready(function () { 
            $("#testResults tr").each(function () { 
                var row = $(this).find("td:nth-child(2)").text(); 
                if (row == 'Pass') { 
                    $(this).css('background-color', '#F00'); 
                } else { 
                    $(this).css({ 'background-color': '#0G0',}); 
                } 
            }); 
        }); 
于 2012-12-14T11:34:12.493 回答