HTML隐藏表格行
所以我想向HTML表格的第一个单元格添加一个递增的数字。我在这个论坛中使用的例子已经完成了。我接下来要做的是隐藏任何只包含第一个单元格中的数字的行。我唯一可用的选项是css,但我不确定它是否可行。我到目前为止的代码是HTML隐藏表格行
table {
border-collapse: collapse;
counter-reset: rowNumber;
}
table tr:not(:first-child) {
counter-increment: rowNumber;
}
table td > *:empty {
display: none;
}
tr > td:empty {
background-color: yellow;
}
table tr td:first-child::before {
content: counter(rowNumber);
min-width: 1em;
margin-right: 0.5em;
}
<table border="1px" empty-cells:hide;>
<tr>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td>Test</td>
</tr>
<tr>
<td></td>
<td>Test</td>
</tr>
<tr>
<td></td>
<td>Test</td>
</tr>
</table>
请检查下面摘录符合您的要求。
http://bootsnipp.com/user/snippets/D2ZDA
在这里,我隐藏所有兄弟TR元素;如果第一TR是空的。 使用CSS,你不能控制父母,因为没有父母选择器。
这里是代码 -
table {
border-collapse: collapse;
}
table tr:not(:first-child) {
counter-increment: rowNumber;
}
tr > td:first-child:empty,
tr > td:first-child:empty ~ td {
display: none;
}
table tr td:first-child::before {
content: counter(rowNumber);
min-width: 1em;
margin-right: 0.5em;
}
<table border="1px" empty-cells:hide;>
<tr>
<td>Has Text</td>
<td>Test</td>
</tr>
<tr>
<td></td>
<td>Test</td>
</tr>
<tr>
<td>Has Text</td>
<td>Test</td>
</tr>
<tr>
<td></td>
<td>Test</td>
</tr>
</table>
你能在你的回答中发布相关代码吗? Bootsnipp需要一个帐户才能查看代码,因此对于答案并不理想。 –
谢谢你们的帮助。这很好 – law76
大厦@CharanKumar答案,你可以做的是去除第一列,编号文本应用到该行。然后,您可以添加一些padding
和border-right
来模拟单独的单元格。
它看起来象下面这样:
table {
border-collapse: collapse;
}
table tr:not(:first-child) {
counter-increment: rowNumber;
}
tr > td:first-child:empty,
tr > td:first-child:empty ~ td {
display: none;
}
table tr td:first-child::before {
content: counter(rowNumber);
min-width: 1em;
margin-right: 0.5em;
border-right: 1px solid black;
padding: 1px 5px 1px 1px;
}
<table border="1px" empty-cells:hide;>
<tr>
<td></td>
</tr>
<tr>
<td>Test</td>
</tr>
<tr>
<td>Test</td>
</tr>
<tr>
<td>Test</td>
</tr>
</table>
所以没有使用Javascript?我不认为这是可能的,只是我害怕CSS。我不认为你可以根据对象的状态来定位对象的父对象。 –