我正在一个我需要显示/隐藏表格行的网站上工作。我得到了这个功能,但是当我显示时,CSS会变坏。我提供working link;单击“更多...”链接并查看示例的操作。我正在使用jQuery的toggle(slow)
来隐藏和显示
我有一个使用表格构建的页面:
如果您看到图像右侧有刻度线的部分。在刻度线后,该部分移动到右侧。这种情况发生在我输入代码以显示/隐藏额外功能时..这个问题的解决方案是什么?
答案 0 :(得分:3)
好的,我发现了问题。表格中有两个tbody
个标签。这是对的。但是,当您使用jQuery显示/隐藏表时,它会将display: block
属性应用于tbody
标记,这会导致浏览器错误地呈现它。
使用jQuery更改显示CSS属性,如下所示:
display: none
以隐藏“更多属性”部分display: table-row-group
以显示“更多属性”部分display
设置为空字符串,让浏览器按照应该的方式显示该部分答案 1 :(得分:1)
该页面似乎在IE8中正确显示。在Chrome和FF中,问题是表格中的display: block
元素会导致表格错误地显示如果有没有 display: block
的元素好。
display: block
设置为第一个tbody
元素(这是最简单的解决方案)display: none
中的.extra_properties
(并同时关闭display: block
)或display: table-row-group
。需要注意的是,display-row-group
在IE中不起作用。答案 2 :(得分:-1)
$("tr").click(function() { $(this).hide(); }
$("#showmore").click(function() { $("#tr:hidden").show() }