简单地做一些事情
$("tr.myclass").hide();
将隐藏相关行。但是,如果我对 tr 中包含的 td 有边框,那么在隐藏 tr 后它们仍然会显示。因此,原始表格的 td 元素底部有一个 1px 边框。隐藏行集的位置会导致两个像素边框取代它们。
我假设这是因为 tr 被隐藏而不是 td,所以边界仍然存在。不过,这并不重要,tr 中包含的所有内容都应该隐藏。
我对这个有点迷失,因为互联网上似乎没有人遇到过它,至少,根据我的搜索标准没有。
有什么想法吗?
编辑
好的,尝试一下使用 <col />
和<colgroup></colgroup>
,你会发现它是可重现的。我的同事告诉我去掉 col 和 colgroups,嘿,很快,它工作得很好。这是在 IE8 中(我不是 IE 用户,但这是针对仅 IE 的项目)。很奇怪。
最佳答案
边框不属于单元格,而是属于表格并显示在单元格之间。隐藏行将隐藏单元格,但不会删除它们,因此单元格之间的边框仍然存在。
表格不应该以这种方式使用,如果您隐藏表格的一部分,它的行为将会不稳定或意外。隐藏元素时表结构不会改变,因此表不会显示,就好像隐藏元素不存在一样。如果要从表中删除表行,则必须实际从表中删除 tr 元素。
关于jquery - 隐藏 TR - 包含边界,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1999311/