var aRows = document.getElementById("table_id").rows;
var aColor = new Array("#F00","#000");
var n = 0;
var B = "";
for(i = 1; i < aRows.length; i++){
   if(aRows(i).cells(1) != B){
       B = aRows(i).cells(1);
       n = (n + 1) % 2;
   }
   aRows(i).style.color = aColor[n];
}

解决方案 »

  1.   


    <style>
    .red{background:#f00;color:#fff}
    .blue{background:#00f;color:#fff}
    </style>
    请问如何实现这样的换色,按B字段相同的一种颜色。
    <table border="1" width="17%" id=tab>
    <tr>
    <td width="50">A</td>
    <td width="47">B</td>
    <td>C</td>
    </tr>
    <tr>
    <td width="50">001</td>
    <td width="47">401</td>
    <td>1</td>
    </tr>
    <tr>
    <td width="50">002</td>
    <td width="47">401</td>
    <td>2</td>
    </tr>
    <tr>
    <td width="50">003</td>
    <td width="47">401</td>
    <td>3</td>
    </tr>
    <tr>
    <td width="50">004</td>
    <td width="47">401</td>
    <td>4</td>
    </tr>
    <tr>
    <td width="50">005</td>
    <td width="47">401</td>
    <td>5</td>
    </tr>
    <tr>
    <td width="50">006</td>
    <td width="47">402</td>
    <td>1</td>
    </tr>
    <tr>
    <td width="50">007</td>
    <td width="47">402</td>
    <td>2</td>
    </tr>
    <tr>
    <td width="50">008</td>
    <td width="47">402</td>
    <td>3</td>
    </tr>
    <tr>
    <td width="50">009</td>
    <td width="47">402</td>
    <td>1</td>
    </tr>
    <tr>
    <td width="50">010</td>
    <td width="47">403</td>
    <td>2</td>
    </tr>
    <tr>
    <td width="50">011</td>
    <td width="47">403</td>
    <td>1</td>
    </tr>
    </table><script language="javascript">
    <!--
    var tr=document.getElementById("tab").rows
    var colorName=["red","blue"]
    var colorSW=0
    tr(1).className=colorName[colorSW]
    for(i=2;i<tr.length;i++){
    if(tr(i).cells(1).innerHTML!=tr(i-1).cells(1).innerHTML){
    colorSW++
    if (colorSW>=2)colorSW=0
    }
    tr(i).className=colorName[colorSW]
    }
    //-->
    </script>