如何从第二个td(包含)开始(有效地)隐藏表中的td?

时间:2015-12-21 18:04:18

标签: jquery html

我们说我有一张如下表所示的表格:

   <table id='randData'>
    <tr>
       <td >56</td>
       <td >Call me</td>
       <td >Blah</td>
       ...
    </tr>
   <tr>
  </table>

从第二个(包括)开始隐藏tds到结束的最佳方法是什么? 为隐藏的tds添加一个类更有效吗?有没有办法解决 这使用带有nth-child的表达式?

4 个答案:

答案 0 :(得分:3)

我将介绍两种简单的方法!

#1

这个想法:隐藏每个 td标记,然后取消隐藏第一个标记。

tr > td {
    display: none; /* Hidden! */
}
tr > td:first-child {
    display: initial; /* Undo hiding on only the 1st td */
}

#2

这个想法:隐藏第一个孩子以外的每个兄弟

tr > td ~ td {
    display: none;
}

我给出第一个选项以及第一个选项的原因是并非所有人都喜欢~选择器(选择~符号左侧的所有儿童万一你不熟悉它!)

答案 1 :(得分:3)

除非你使用jQuery动画,否则我更喜欢使用我认为每个人都同意的类是最有效的方法。您可以在CSS中选择第二个及以上的所有td元素:

tr.hide > td:nth-child(n+2) {
    display: none;
}

现在只需将hide类放在要隐藏第二个及以上的行上。

答案 2 :(得分:2)

false

如果你必须使用jQuery

将是我的直接猜测

答案 3 :(得分:1)

使用jquery .not():first选择器。

$('table tr td:not(:first)').hide();

示例:https://jsfiddle.net/DinoMyte/3dzxsxgq/