我有一个带有特定列的表,其中单元格只包含“R”,“N”或“Y”。我想根据提到的值中的任何一个为行着色。任何建议都会有所帮助
这是我的,但它没有改变行颜色
var rows = document.getElementById("trans_separate").getElementsByTagName("tbody")
[0].getElementsByTagName("tr");
// loops through each row
for (i = 0; i < rows.length; i++) {cells = rows[i].getElementsByTagName('td');
if (cells[14].innerText == R)
rows[i].className = "red";
else if (cells[14].innerText == Y)
rows[i].className = "Yellow";
else if (cells[1].innerText == N)
null
}
答案 0 :(得分:0)
在Ubuntu的Firefox中运行:jsfiddle
P.S。应该是else-if
。如果内部文字为'R'
,则您不应评估'Y'
。
var rows = document.getElementById("trans_separate").getElementsByTagName("tbody")[0].getElementsByTagName("tr");
for (i = 0; i < rows.length; i++) {
row = rows[i].getElementsByTagName('td');
var cell = getText(row[0]);
if (cell === 'R') rows[i].className = "red";
else if (cell === 'Y') rows[i].className = "yellow";
}
function getText(cell) {
return (cell.innerText == undefined) ? cell.textContent : cell.innerText;
}
答案 1 :(得分:-1)
工作示例:
var rows = document.getElementById("trans_separate").getElementsByTagName("tbody")
[0].getElementsByTagName("tr");
// loops through each row
for (i = 0; i < rows.length; i++) {cells = rows[i].getElementsByTagName('td');
if (cells[0].innerHTML == 'R')
rows[i].className = "red";
if (cells[0].innerHTML == 'Y')
rows[i].className = "yellow";
}