防止隐藏的 tr 破坏 td 宽度
Prevent a hidden tr from breaking the td widths
我正在折叠表行并使用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>
(如果喜欢,请小提琴: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;
}
-演示-
不是真正的答案,但最终会有一些提示。
您可以colgroup
和min-width
中继,不幸的是,显示:无; 隐藏内容的宽度。
桌子的布局和桌子上的宽度也是值得关注的。
http://jsfiddle.net/8u070tkf/2/
$("tr:first").click(function(){
$(this).next('tr').toggle();
});
tr{
display: none;
}
tr:first-of-type{
display: table-row;
}
col {
min-width:2.2em;
}
td {
background:yellow
}
<script src="http://code.jquery.com/jquery-compat-git.js"></script>
<table>
<colgroup><col/><col/> <col/><col/><col/> <col/><col/> <col/></colgroup>
<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>
相关文章:
- 正在获取生成的PHP td值
- Angularjs-utils高亮过滤器在搜索时破坏应用程序
- 如何在td元素中添加监听器
- 如何首先设置样式<td>表中包含在窗体中的元素
- 在不破坏未定义函数的情况下,对多个视图使用单个js文件
- 我如何在数字插入中使用逗号,这样它就不会'不要破坏我的输入字段
- 使用javascript获取表的td值
- tu如何将id放在填充了json数据的html表td上
- 为什么这个函数调用会破坏程序并导致未定义的变量
- 改变所有<td>为特定的桌子点击颜色
- JQuery展开和隐藏表td
- jQuery如何获取td单元格值
- 如何调用表td标记内的Onload函数
- 使用谷歌地图api计算距离并将其设置在表格中<td>
- 是一个javascript bookmarklet,可以设置破坏跨域安全的域cookie
- 查找所有TD标签并读取其数据属性
- 在同一tr-jQuery中获取td的值
- JQuery Mobile破坏了我的布局:如何禁用自动打字
- 防止隐藏的 tr 破坏 td 宽度
- 如何防止 td 中的文本破坏表格的对齐方式