问题描述:
   动态生成一个3行10列的table,
<table id = "myTable">
   <tr>
    <td>1</td><td>2</td><td>3</td><td>4</td><td>5</td><td>6</td><td>7</td><td>8</td><td>9</td><td>10</td>
  </tr>
  <tr>
    <td></td><td></td><td></td><td></td><td>td> <td></td><td></td><td></td><td></td><td>td>
  </tr>
  <tr>
    <td></td><td></td><td></td><td></td><td>td> <td></td><td></td><td></td><td></td><td>td>
  </tr>
</table>js代码:
  var i = 3;
  for(;i < 10;i++)
  {
     //用变量i实现
  }在google,baidu上查了很多,都没有解决答案:
     1)要么只能删除一个单元格;
     2)要么不能用循环语句,变量i无法引用用不到;现在用js动态去把第4、10列都隐藏掉,用juery或者javascript怎么解决?跪求高手了,已经搞了一宿了,都没找到答案!
  

解决方案 »

  1.   

    <!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>
        <meta http-equiv="Content-Type" content="text/html; charset=gbk" />
        
        <title>Solution for Long Dropdowns</title>
                
        <script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js?ver=1.3.2'></script>
        <script type="text/javascript">
    $(function(){
    $("#myTable tr td:nth-child(4)").hide();
    $("#myTable tr td:nth-child(10)").hide();
    });
        </script>
    </head><body><table id = "myTable">
      <tr>
      <td>1</td><td>2</td><td>3</td><td>4</td><td>5</td><td>6</td><td>7</td><td>8</td><td>9</td><td>10</td>
      </tr>
      <tr>
      <td>1</td><td>2</td><td>3</td><td>4</td><td>5</td><td>6</td><td>7</td><td>8</td><td>9</td><td>10</td>
      </tr>
      <tr>
      <td>1</td><td>2</td><td>3</td><td>4</td><td>5</td><td>6</td><td>7</td><td>8</td><td>9</td><td>10</td>
      </tr>
    </table></body></html>
      

  2.   

    documentGetElementById("myTable")rows[0].cells(0).style.visibility="hidden";
    第一列第一行隐藏
      

  3.   

    不行啊!!!
    $("#listfileTable tr td:nth-child(4)").hide();
    $("#listfileTable tr td:nth-child(10)").hide();这里的数字4、10都是常量,如果td:nth-child()括号里用变量,该语句无效啊!!
      

  4.   

    怎么可能无效呢
    $("#listfileTable tr td:nth-child("+ 变量.toString() +")").hide();
      

  5.   

    function disPlayCell(t,c,isDisplay)
    {   
        c=parseInt(c);
        if(t && t.rows && t.rows.length >0)
        {
            for(var i=0;i<t.rows.length;i++)
            {
                if(c<t.rows[i].cells.length)
                {
                    t.rows[i].cells[c].style.display= isDisplay?"block":"none";
                }
            }
        }
    }
      

  6.   

    var t=document.getElementById("listfileTable);
     disPlayCell(t,3,0); // 隐藏第4列
     disPlayCell(t,9,0); // 隐藏第10列disPlayCell(t,3,1); // 显示第4列
     disPlayCell(t,9,1); // 显示第10列
      

  7.   

    大牛,还得继续指教阿:
    6行6列的table,如下:
    <table id = "listfileTable" cellpadding="0" cellspacing="0" border="1" align="center" valign="middle">
      <tr>
    <td>abc11</td><td>abc12</td><td>abc13</td><td >abc14</td><td >abc15</td><td>abc16</td></tr>    <tr><td>abc21</td><td>abc22</td><td>abc23</td><td >abc24</td><td>abc25</td><td>abc26</td>
      </tr>
        <tr>
          <td>abc31</td><td>abc32</td><td>abc33</td><td >abc34</td><td>abc35</td><td>abc36</td>
      </tr>
        <tr>
          <td>abc41</td><td>abc42</td><td>abc43</td><td >abc44</td><td>abc45</td><td >abc46</td>
      </tr>
        <tr>
          <td>abc51</td><td>abc52</td><td>abc53</td><td >abc54</td><td>abc55</td><td >abc56</td>
      </tr>
      <tr>
          <td>abc61</td><td>abc62</td><td>abc63</td><td >abc64</td><td >abc65</td><td>abc66</td>
      </tr>
    </table>
    <button name="next" onclick="ChangeTable()">adfadfadf</button>js代码如下:
    function ChangeTable()
    {
       $("#listfileTable tr td:nth-child(0)").hide();
       for(var i = 1; i < 6;i++)
       {
          $("#listfileTable tr td:nth-child("+ i.toString() +")").hide();
       }
    }问题如下:
      通过上面的代码实现的时候,有一列始终不能隐藏,各位大侠客再赐教!!!谢谢!!!!!!!!
      

  8.   

    for(var i = 1; i <6;i++)
      

  9.   

    多谢 NBA 巨星,重谢cj205,对了,大牛,您能不能解释一下这个原因呢:
       索引为什么要从1开始? table的列序号不是从0开始计算吗?Thks!