Javascript 如何根据xml节点的值分配类?
我使用下面的for循环从“x-ml”结果集检索数据,并根据结果构建一个t体。我想做的是根据nodes值为几行分配一个类。例如: -如果百分比报告>90%,则分配类别“绿色” -如果报告百分比>70%且小于90%,则分配类别“黄色” -如果报告百分比<70%,则将类别分配为“红色” 我在想我可以在构建t体的时候分析这个问题,并将类分别分配给每个t d或单元格,但我不知道该怎么做 最后,我想根据三列的值对它们进行条件格式设置 如有任何想法或建议,将不胜感激Javascript 如何根据xml节点的值分配类?,javascript,html,css,xml,html-table,Javascript,Html,Css,Xml,Html Table,我使用下面的for循环从“x-ml”结果集检索数据,并根据结果构建一个t体。我想做的是根据nodes值为几行分配一个类。例如: -如果百分比报告>90%,则分配类别“绿色” -如果报告百分比>70%且小于90%,则分配类别“黄色” -如果报告百分比
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-我只是想得太多了。很好用!再次感谢。