Chinaunix首页 | 论坛 | 博客
  • 博客访问: 482812
  • 博文数量: 67
  • 博客积分: 2952
  • 博客等级: 少校
  • 技术积分: 679
  • 用 户 组: 普通用户
  • 注册时间: 2006-01-24 10:50
文章分类

全部博文(67)

文章存档

2011年(9)

2010年(36)

2009年(8)

2008年(5)

2007年(5)

2006年(4)

我的朋友

分类: 系统运维

2011-03-29 11:20:44

用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 属性为空字符串即可。如:

  1. document.getElementById("show").style.display = "";

原理是通常设为空字符串时,此元素会恢复成其原来的 display 属性值,不用再人为区分 table 还是 block 了


阅读(2800) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~