如何将显示无设置为第二个Tr的第一个Td

时间:2017-09-04 10:39:13

标签: jquery html css

我有下表,我想将display none设置为第二行的第一个td,称为visi。我怎么能这样做?

.visi{ background:orange}
<table border="1" cellpadding="1">
<tr>
<td class="visi" rowspan="2">__</td>
<td>1</td>
</tr>
<tr>
<td class="visi" rowspan="2">__</td>
<td>2</td>
</tr>
</table>

4 个答案:

答案 0 :(得分:4)

最简单的方法是使用css伪元素:

加入这两个来获得:

table tr:nth-child(2) > td:first-child { /* your style*/ }

&#13;
&#13;
table tr:nth-child(2) > td:first-child {
  display:none;
}
&#13;
<table border="1" cellpadding="1">
<tr>
<td class="visi" rowspan="2">__</td>
<td>1</td>
</tr>
<tr>
<td class="visi" rowspan="2">__</td>
<td>2</td>
</tr>
</table>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

tr:nth-child(2)选择第二个trtd:nth-child(1)选择第一个td

.visi{ background:orange}

tr:nth-child(2)>td:nth-child(1) {
    display: none;
}
<table border="1" cellpadding="1">

<tr>
<td class="visi" rowspan="2">__</td>
<td>1</td>
</tr>

<tr>
<td class="visi" rowspan="2">__</td>
<td>2</td>
</tr>

</table>

答案 2 :(得分:0)

使用findeq方法以及addClass隐藏您的元素。

$('table').find('tr').eq(1).find('td').eq(0).addClass('hide');
.visi {
  background: orange
}
.hide
{
  display:none
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table border="1" cellpadding="1">
  <tr>
    <td class="visi" rowspan="2">__</td>
    <td>1</td>
  </tr>
  <tr>
    <td class="visi" rowspan="2">__</td>
    <td>2</td>
  </tr>
</table>

答案 3 :(得分:-1)

只需将其替换为

<td class="visi" style="display:none;" rowspan="2">__</td>