2015-10-11 54 views
0

我使用以下模板更改某些單元格滿足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

以下修改if語句將限制顏色變化到第4,第5和第6列:

if ([3,4,5].indexOf(cells[c].cellIndex) >= 0)

[3,4,5]給人的第4,第5和第6列(佔基於JavaScript的零數組編號

indexOf() >= 0如果參數在數組或字符串中,則爲true

+0

非常感謝Ryan ..這是一個非常優雅的解決方案。它完美的作品。非常感謝.. – ROLOKVIV

相關問題