使用jQuery隐藏表格的列/单元格

11

如何使用jQuery隐藏表格的列

< table >
  < tr >
   < td id="td_1" >name</ td >
   < td id="td_2" >title</ td >
   < td id="td_3" >desc</ td >
  </ tr >
  < tr >
   < td id="td_1" >Dave</ td >
   < td id="td_2" >WEB DEV</ td >
   < td id="td_3" >Blah Blah</ td >
  < /tr >
  < tr >
   < td id="td_1" >Nick< /td >
   < td id="td_2" >SEO< /td >
   < td id="td_3" >Blah Blah and blah< /td >
  < /tr >
< /table >

如果有人想要隐藏所有行中的第一列(即td_1),那么应该写什么代码呢?

预先感谢 Dave


不需要id的花哨操作... $('tr td:nth-child(n)'),其中n是列号。 - pxl
另外,如果我们帮助您解决了问题,请接受一个答案。 - Marko
3个回答

22
$(document).ready(function() {
    $("#td_1").hide();
});
理想情况下,您应该使用类而不是ID。
所以。
<table>
  <tr>
   <td class="td_1">name</td>
   <td class="td_2">title</td>
   <td class="td_3">desc</td>
  </tr>
  <tr>
   <td class="td_1">Dave</td>
   <td class="td_2">WEB DEV</td>
   <td class="td_3">Blah Blah</td>
  </tr>
  <tr>
   <td class="td_1">Nick</td>
   <td class="td_2">SEO</td>
   <td class="td_3">Blah Blah and blah</td>
  </tr>
</table>

然后您将使用类似的代码:

$(document).ready(function() {
    $(".td_1").hide()
});

唯一改变的是#号变成了点. #代表ID,点代表class。

另一种方法是使用nthChild选择器。

$(document).ready(function() {
    $('tr td:nth-child(1)').hide();
});

1表示要隐藏的列号。

希望对你有所帮助。


3
jQuery对CSS选择器有很好的支持。您可以编写一个类似于$('tr td:nth-child(1)')的选择器来选择列... http://api.jquery.com/nth-child-selector/ - pxl
那些 jQuery 的开发者真是天才! - pxl
John Resig是Javascript的爱因斯坦。 - Marko
请检查 document.ready() 的语法,我认为您在最后漏掉了一个括号。 - Arunprasanth K V
如果您有多个表怎么办?$('tr td:nth-child(1)').hide();您可以在开头添加一个表格ID,例如:$('#MytableID' 'tr td:nth-child(1)').hide();需要修复语法。 - Tom Stickel
显示剩余3条评论

1
有些情况下,用户会使用th作为表头,您可以使用此脚本隐藏带有th的列。"Original Answer"翻译成"最初的回答"。
$('#test').click(function() {
    $('th:nth-child(2), tr td:nth-child(2)').hide();
})

$('#test').click(function() {
    $('th:nth-child(2), tr td:nth-child(2)').hide();
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table border=1>
  <tr>
   <th id="td_1">name</th>
   <th id="td_2">title</th>
   <th id="td_3">desc</th>
  </tr>
  <tr>
   <td id="td_1">Dave</td>
   <td id="td_2">WEB DEV</td>
   <td id="td_3">Blah Blah</td>
  </tr>
  <tr>
   <td id="td_1">Nick</td>
   <td id="td_2">SEO</td>
   <td id="td_3">Blah Blah and blah</td>
  </tr>
</table>

<button id='test'>Hide title</button>



网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接