用javascript动态的设置一个表格某些行的显示和隐藏,在IE中没有任何问题
<table>
<tr><td>a1</td><td>b1</td></tr>
<tbody id="show">
<tr><td>a2</td><td>b2</td></tr>
<tr><td>a3</td><td>b3</td></tr>
</tbody>
</table>
|
document.getElementById("show").style.display = "block";
|
但是在firefox中,当onclick显示的时候后面两行会全缩到第一个td的位置,显示发生错位。
原因:当 table 的 display 为 block 时,不论是否在 HTML 里显式地写了 tbody 标签,Firefox 解析出的 tbody 都不再和 table 等宽,而是适应表格行的宽度。解决:恢复显示时设置 display 属性为空字符串即可。如:
document.getElementById("show").style.display = "";
原理是通常设为空字符串时,此元素会恢复成其原来的 display 属性值,不用再人为区分 table 还是 block 了
阅读(2800) | 评论(0) | 转发(0) |