2016-11-28 78 views
0

我有下面的代码,但我不知道它为什么隐藏不同表上的列。它似乎忽略了选择器的第一部分,即表格ID。jQuery隐藏不同表上的列

<html> 
<head> 
    <script src="https://code.jquery.com/jquery-1.10.2.js"></script> 
</head> 
<body> 
    <table id="table1"> 
     <thead> 
      <tr> 
       <th>Col1</th> 
       <th>Col2</th> 
       <th>Col3</th> 
       <th>Col4</th> 
       <th>Col5</th> 
       <th>Col6</th> 
       <th>Col7</th> 
      </tr> 
     </thead> 
     <tbody> 
      <tr> 
       <td>Val1</td> 
       <td>Val2</td> 
       <td>Val3</td> 
       <td>Val4</td> 
       <td>Val5</td> 
       <td>Val6</td> 
       <td>Val7</td> 
      </tr> 
     </tbody> 
    </table> 
    <table id="table2"> 
     <thead> 
      <tr> 
       <th>Col1</th> 
       <th>Col2</th> 
       <th>Col3</th> 
       <th>Col4</th> 
       <th>Col5</th> 
       <th>Col6</th> 
       <th>Col7</th> 
      </tr> 
     </thead> 
     <tbody> 
      <tr> 
       <td>Val1</td> 
       <td>Val2</td> 
       <td>Val3</td> 
       <td>Val4</td> 
       <td>Val5</td> 
       <td>Val6</td> 
       <td>Val7</td> 
      </tr> 
     </tbody> 
    </table> 
    <table id="table3"> 
     <thead> 
      <tr> 
       <th>Col1</th> 
       <th>Col2</th> 
       <th>Col3</th> 
       <th>Col4</th> 
       <th>Col5</th> 
       <th>Col6</th> 
       <th>Col7</th> 
      </tr> 
     </thead> 
     <tbody> 
      <tr> 
       <td>Val1</td> 
       <td>Val2</td> 
       <td>Val3</td> 
       <td>Val4</td> 
       <td>Val5</td> 
       <td>Val6</td> 
       <td>Val7</td> 
      </tr> 
     </tbody> 
    </table> 
<script> 
    $(document).ready(function() { 
     $('#table1 td:nth-child(4),th:nth-child(4)').hide(); 
    }); 
</script> 
</body> 

我试过这个解决方案第一https://stackoverflow.com/a/5901376/3658485

难道我将不得不选择表和遍历其次/ TDS?

回答

2

你应该把这个:

'#table1 td:nth-child(4), #table1 th:nth-child(4)' 
+0

是的,就是这样。我需要在逗号后再加上表格ID。这完全有道理。谢谢。 –

1
$(document).ready(function() { 
    $('#table1 td:nth-child(4),th:nth-child(4)').hide(); 
}); 

你的代码是选择TD:第n个孩子(4)表1中,但它也选择了次:第n个孩子(4)的所有表格。

最好的解决方法是调用TD /次你想隐藏,并给它的表像这样:

$(document).ready(function() { 
    $('td:nth-child(4),th:nth-child(4)', '#table1').hide(); 
});