我在下面使用此模板来更改某些单元格满足CASE条件时的颜色。函数将自身应用于动态行表中的所有行。我试图修改此函数以将单元格颜色更改为仅限列4,5和6.我的表共有9列。我非常感谢任何帮助。
function formatCells(table){
var tbody = table.getElementsByTagName('tbody')[0],
cells = tbody.getElementsByTagName('td'),
colors = ['red', 'blue', 'green'];
for (var c = 0, len = cells.length; c < len; c++){
if (cells[c].cellIndex > 0){
switch (parseInt((cells[c].textContent || cells[c].innerText), 10)){
case 1:
cells[c].style.backgroundColor = colors[0];
break;
case 2:
case 3:
case 4:
cells[c].style.backgroundColor = colors[1];
break;
case 5:
cells[c].style.backgroundColor = colors[2];
break;
}
}
}
}
formatCells(document.getElementsByTagName('table')[0]);
答案 0 :(得分:0)
以下修改后的if语句将颜色更改限制为第4,第5和第6列:
if ([3,4,5].indexOf(cells[c].cellIndex) >= 0)
[3,4,5]
给出第4,第5和第6列(考虑到JavaScript基于零的数组编号
indexOf() >= 0
将为true