有一表格mytab
var code="000110"    //0表示隐藏列,1表示显示列
如何根据CODE的值让表格相关的列显示或隐藏
如本例中。1,2,3,6列隐藏,4,5列显示

解决方案 »

  1.   

    for(var i=0;i<code.length;i++){   var flg = code.substr(i,1);
       if(flg==="0") tb.getElementsByTagName("tr")[i].style.display="none";
       else if(flg==="1") tb.getElementsByTagName("tr")[i].style.display="block";
    }
      

  2.   


    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
     <head>
      <title> new document </title>
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     </head> <body>
     <table width="100%" border="1" id="tbl">
    <tr>
    <td>1</td>
    <td>2</td>
    <td>3</td>
    <td>4</td>
    <td>5</td>
    <td>6</td>
    </tr>
    <tr>
    <td>1</td>
    <td>2</td>
    <td>3</td>
    <td>4</td>
    <td>5</td>
    <td>6</td>
    </tr>
     </table>
      <input type="button" value="000110" onclick="disTr(this.value)" />
      <script type="text/javascript">
    function disTr(val) {
    var rows = document.getElementById('tbl').tBodies[0].rows;
    var re = val.split('');
    for(var i = 0, len = re.length; i < len; i++) 
    for(var j = 0, len2 = rows.length; j < len2; j++)
    if(re[i] == 0) rows[j].cells[i].style.display = "none";
    }
      </script>
     </body>
    </html>
      

  3.   

    function test(){
    var code = "000110";
    var tbl = document.getElementById("mytab");
    for (var i=0;i<tbl.rows.length;i++ )
    {
    for (var j=0;j<code.length; j++) {
    tbl.rows[i].cells[j].style.display=code.charAt(j)==true?"":"none";
    }
    }
    }