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中将不起作用。需注意!

但字母s,p改成大写后又都可以了

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

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


相关:

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

posted on 2011-04-04 18:49  snandy  阅读(3047)  评论(2编辑  收藏  举报