【发布时间】:2015-10-23 22:52:19
【问题描述】:
我有一个用 CSS 格式化的 HTML 表格。
我希望第 4 列的单元格的值小于 -2 时为红色背景,大于 +2 时为绿色背景。
请指教。
【问题讨论】:
-
请提供与本题相关的代码块,尤其是表格的HTML代码,如有JS部分代码。
标签: javascript html-table formatting conditional
我有一个用 CSS 格式化的 HTML 表格。
我希望第 4 列的单元格的值小于 -2 时为红色背景,大于 +2 时为绿色背景。
请指教。
【问题讨论】:
标签: javascript html-table formatting conditional
以下脚本将满足您的要求,HERE 是一个工作示例供您参考。 如果您有多个表,只需给它一个类并根据需要修改脚本。
var trTags = document.getElementsByTagName("tr");
for (var i = 0; i < trTags.length; i++) {
var tdFourthEl = trTags[i].children[3]; // starts with 0, so 3 is the 4th element
if (tdFourthEl.innerText < -2) {
tdFourthEl.style.backgroundColor = "red";
} else if (tdFourthEl.innerText > 2) {
tdFourthEl.style.backgroundColor = "green";
}
}
【讨论】:
这应该可以帮助您入门。更改第四行中的值以更改背景颜色。
(function(){
var valueOfFourthRowValue = document.getElementById("value");
if (valueOfFourthRowValue.textContent > 2) {
valueOfFourthRowValue.style.backgroundColor = "green"
} else if (valueOfFourthRowValue.textContent < -2) {
valueOfFourthRowValue.style.backgroundColor = "red"
}
})()
<table>
<tr><td>One Row</td></tr>
<tr><td>One Row</td></tr>
<tr><td>One Row</td></tr>
<tr><td id="value">3</td></tr>
</table>
如果表格是动态的,并且您想抓取最后一个元素,则使用 xpath。
var tableColumn = document.evaluate('//table//tr[last()]/td', document, null, XPathResult.ANY_TYPE, null).iterateNext();
tableColumn.setAttribute("id", "value");
【讨论】: