javascript - 防止隐藏的 tr 破坏 td 宽度

标签 javascript jquery html css html-table

我正在折叠表格行并使用 jQuery 来切换它们。但是,当显示隐藏的行时,将重新计算第一个 tr 中的 td 元素的宽度。这是在我的示例中展示的:

$("tr:first").click(function(){
    $(this).next('tr').toggle();
});
tr{
    display: none;
}
tr:first-of-type{
    display: table-row;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<table>
    <tr><td colspan="5">Hello</td><td colspan="3">World</td></tr>
    <tr><td>foo</td><td>foo</td><td>foo</td><td>foo</td><td>foo</td><td>foo</td><td>foo</td><td>foo</td></tr>
</table>

( fiddle ,如果喜欢:http://jsfiddle.net/8u070tkf/)

如何强制隐藏行的流动,但仍切换第二个 tr 的可见性?

最佳答案

你最好切换一个类并设置 visibility CSS 属性:

$("tr:first").click(function(){
    $(this).next('tr').toggleClass('shown');
});

CSS:

tr:not(:first-of-type):not(.shown){
    visibility: hidden;
}

-DEMO-

关于javascript - 防止隐藏的 tr 破坏 td 宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28914536/

相关文章:

javascript - 根据推荐人、用户代理显示不同的电话号码

javascript - 如何使用 javascript 为子菜单和溢出的子子菜单项动态调整 css

html - 动态表行对齐

javascript - 如何在javascript中生成唯一的id?

javascript - 如果变量尚不存在,则使用 LET/ECMAscript 6 声明变量

jquery - HTTP PATCH 操作在 IE 11 中失败,在 Chrome、Firefox 中有效

javascript - JQuery/Javascript 内联回调

javascript - 创建 OpenID 登录小部件

javascript - 在 jQuery 中悬停时重置自动导航功能

javascript - 如何使用 jQuery 等待 CSS3 过渡结束?