如果表的所有行都被隐藏,如何删除表的边距?

时间:2018-05-24 21:54:28

标签: jquery html css

我有许多动态创建的表。在这些表中是可以隐藏或不隐藏的数据行。有时表中的所有行都是隐藏的。即使它们被隐藏,<table>仍会施加其底部边距,因此它仍会占用显示屏上的空间。

如果表中的所有行都被隐藏了,有没有办法隐藏整个表?

1 个答案:

答案 0 :(得分:0)

假设您有一个类table--dynamic的表,请执行

&#13;
&#13;
$(".table--dynamic")
    .filter(function(){
        return $(this).find("tr:visible").length < 1;
    })
        .hide();
&#13;
table {
  margin: 1em;
  padding: 5px;
  background: blue;
  color: white;
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table class="table--dynamic">
  <tbody>
    <tr style="display: none;">
      <td>foo</td>
    </tr>
  </tbody>
</table>

<table class="table--dynamic">
  <tbody>
    <tr>
      <td>foo</td>
    </tr>
  </tbody>
</table>
&#13;
&#13;
&#13;