我们说我有一张如下表所示的表格:
<table id='randData'>
<tr>
<td >56</td>
<td >Call me</td>
<td >Blah</td>
...
</tr>
<tr>
</table>
从第二个(包括)开始隐藏tds到结束的最佳方法是什么? 为隐藏的tds添加一个类更有效吗?有没有办法解决 这使用带有nth-child的表达式?
答案 0 :(得分:3)
我将介绍两种简单的方法!
这个想法:隐藏每个 td
标记,然后取消隐藏第一个标记。
tr > td {
display: none; /* Hidden! */
}
tr > td:first-child {
display: initial; /* Undo hiding on only the 1st td */
}
这个想法:隐藏第一个孩子以外的每个兄弟
tr > td ~ td {
display: none;
}
我给出第一个选项以及第一个选项的原因是并非所有人都喜欢~
选择器(选择~
符号左侧的所有儿童万一你不熟悉它!)
答案 1 :(得分:3)
除非你使用jQuery动画,否则我更喜欢使用我认为每个人都同意的类是最有效的方法。您可以在CSS中选择第二个及以上的所有td
元素:
tr.hide > td:nth-child(n+2) {
display: none;
}
现在只需将hide
类放在要隐藏第二个及以上的行上。
答案 2 :(得分:2)
false
将是我的直接猜测
答案 3 :(得分:1)
使用jquery .not()
和:first
选择器。
$('table tr td:not(:first)').hide();