当前位置: 代码迷 >> Web前端 >> IE6/7中应用setAttribute设置table的cellpadding和cellspacing的Bug
  详细解决方案

IE6/7中应用setAttribute设置table的cellpadding和cellspacing的Bug

热度:90   发布时间:2012-10-10 13:58:11.0
IE6/7中使用setAttribute设置table的cellpadding和cellspacing的Bug

新版邮箱项目中做页签功能时碰到的。

?

table元素的 cellpadding 和 cellspacing 属性意义不提了。它们也有对应的css解决方案。如下

table {
	border-collapse:collapse;
	border-spacing:0;
}
th,td {
	padding: 0;
}
?

JS操作这两个属性有两种方式,

?

方式1,

table.cellSpacing = 10;
table.cellPadding = 10;

?
注意cellSpacing和cellPadding中间的 S P 都要是大写的。

?

方式2,setAttribute

table.setAttribute('cellspacing','10');
table.setAttribute('cellpadding','10');

?
注意这里的 s p 都没有大写。

方式2在IE6,7中将不起作用。见附件测试html。需注意。

改成大写后又都可以了

table.setAttribute('cellSpacing','10');
table.setAttribute('cellPadding','10');


此外,IE开发者工具对于以上两种方式的解析也不同。

table.setAttribute('cellspacing','10')
IE6/7
IE8/9

?

?

另见:使用滤镜设置透明导致 IE 6/7/8/9? 解析异常

  相关解决方案