Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何根据xml节点的值分配类?_Javascript_Html_Css_Xml_Html Table - Fatal编程技术网

Javascript 如何根据xml节点的值分配类?

Javascript 如何根据xml节点的值分配类?,javascript,html,css,xml,html-table,Javascript,Html,Css,Xml,Html Table,我使用下面的for循环从“x-ml”结果集检索数据,并根据结果构建一个t体。我想做的是根据nodes值为几行分配一个类。例如: -如果百分比报告>90%,则分配类别“绿色” -如果报告百分比>70%且小于90%,则分配类别“黄色” -如果报告百分比

我使用下面的for循环从“x-ml”结果集检索数据,并根据结果构建一个t体。我想做的是根据nodes值为几行分配一个类。例如:

-如果百分比报告>90%,则分配类别“绿色”

-如果报告百分比>70%且小于90%,则分配类别“黄色”

-如果报告百分比<70%,则将类别分配为“红色”

我在想我可以在构建t体的时候分析这个问题,并将类分别分配给每个t d或单元格,但我不知道该怎么做

最后,我想根据三列的值对它们进行条件格式设置

如有任何想法或建议,将不胜感激

for (i = 0; i < x.length; i++) {
    tbody += "<tr><td>" + x[i].getElementsByTagName("Site")[0].childNodes[0].nodeValue + 
    "</td><td>" + x[i].getElementsByTagName("TotalUnits")[0].childNodes[0].nodeValue +
    "</td><td>" + x[i].getElementsByTagName("PercentReporting")[0].childNodes[0].nodeValue +
    "</td><td>" + x[i].getElementsByTagName("PercentNotReporting")[0].childNodes[0].nodeValue +
    "</td><td>" + x[i].getElementsByTagName("PercentBypassed")[0].childNodes[0].nodeValue +
    "</td><td>" + x[i].getElementsByTagName("NumberLogins")[0].childNodes[0].nodeValue +
    "</td><td>" + x[i].getElementsByTagName("NumberAlarms")[0].childNodes[0].nodeValue +
    "</td><td>" + x[i].getElementsByTagName("TotalEnergySavings")[0].childNodes[0].nodeValue +
    "</td></tr>";
}
for(i=0;i
只需计算要添加的类并将其添加到行中:

for (i = 0; i < x.length; i++) {
var percentReporting = x[i].getElementsByTagName("PercentReporting")[0].childNodes[0].nodeValue;
    var class = "";
    if(percentReporting > 90)
        class = "green";
    else if(percentReporting > 70)
        class = "yellow";
    else
        class = "red";

    tbody += "<tr><td>" + x[i].getElementsByTagName("Site")[0].childNodes[0].nodeValue + 
    "</td><td class ='" + class +"'>" + x[i].getElementsByTagName("TotalUnits")[0].childNodes[0].nodeValue +
    "</td><td>" + x[i].getElementsByTagName("PercentReporting")[0].childNodes[0].nodeValue +
    "</td><td>" + x[i].getElementsByTagName("PercentNotReporting")[0].childNodes[0].nodeValue +
    "</td><td>" + x[i].getElementsByTagName("PercentBypassed")[0].childNodes[0].nodeValue +
    "</td><td>" + x[i].getElementsByTagName("NumberLogins")[0].childNodes[0].nodeValue +
    "</td><td>" + x[i].getElementsByTagName("NumberAlarms")[0].childNodes[0].nodeValue +
    "</td><td>" + x[i].getElementsByTagName("TotalEnergySavings")[0].childNodes[0].nodeValue +
    "</td></tr>";
}
for(i=0;i90)
class=“绿色”;
否则如果(百分比报告>70)
class=“黄色”;
其他的
class=“红色”;
tbody+=“”+x[i]。getElementsByTagName(“站点”)[0]。childNodes[0]。nodeValue+
“”+x[i]。getElementsByTagName(“TotalUnits”)[0]。子节点[0]。节点值+
“”+x[i]。getElementsByTagName(“百分比报告”)[0]。子节点[0]。节点值+
“”+x[i]。getElementsByTagName(“PercentNotReporting”)[0]。子节点[0]。节点值+
“+x[i].getElementsByTagName(“绕过百分比”)[0].childNodes[0].nodeValue+
“+x[i].getElementsByTagName(“NumberLogins”)[0].childNodes[0].nodeValue+
“+x[i].getElementsByTagName(“NumberArms”)[0].childNodes[0].nodeValue+
“+x[i].getElementsByTagName(“TotalEnergySavings”)[0].childNodes[0].nodeValue+
"";
}

在循环中,只需为类创建一个变量,并使用一些if条件来设置类

for (i = 0; i < x.length; i++) {
        var statusClass = 'good', //default value
            percentReporting = parseFloat(x[i].getElementsByTagName("PercentReporting")[0].childNodes[0].nodeValue);

        if (percentReporting < 70)
            statusClass = 'bad';
        else if (percentReporting < 90 && percentReporting > 70)
            statusClass = 'warning';

        tbody += "<tr><td>" + x[i].getElementsByTagName("Site")[0].childNodes[0].nodeValue +
            "</td><td>" + x[i].getElementsByTagName("TotalUnits")[0].childNodes[0].nodeValue +
            "</td><td class='" + statusClass + "'>" + percentReporting +
            "</td><td>" + x[i].getElementsByTagName("PercentNotReporting")[0].childNodes[0].nodeValue +
            "</td><td>" + x[i].getElementsByTagName("PercentBypassed")[0].childNodes[0].nodeValue +
            "</td><td>" + x[i].getElementsByTagName("NumberLogins")[0].childNodes[0].nodeValue +
            "</td><td>" + x[i].getElementsByTagName("NumberAlarms")[0].childNodes[0].nodeValue +
            "</td><td>" + x[i].getElementsByTagName("TotalEnergySavings")[0].childNodes[0].nodeValue +
            "</td></tr>";
    }
for(i=0;i70)
statusClass='警告';
tbody+=“”+x[i]。getElementsByTagName(“站点”)[0]。childNodes[0]。nodeValue+
“”+x[i]。getElementsByTagName(“TotalUnits”)[0]。子节点[0]。节点值+
“”+百分比报告+
“”+x[i]。getElementsByTagName(“PercentNotReporting”)[0]。子节点[0]。节点值+
“+x[i].getElementsByTagName(“绕过百分比”)[0].childNodes[0].nodeValue+
“+x[i].getElementsByTagName(“NumberLogins”)[0].childNodes[0].nodeValue+
“+x[i].getElementsByTagName(“NumberArms”)[0].childNodes[0].nodeValue+
“+x[i].getElementsByTagName(“TotalEnergySavings”)[0].childNodes[0].nodeValue+
"";
}

您是否尝试过实现伪代码?这看起来是一个很好的开始。你为什么不试着告诉我们发生了什么。兰迪-谢谢,我想我应该实现我所描述的。就这么简单!JBdev-我只是想得太多了。很好用!再次感谢。