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/7http://dl.iteye.com/upload/attachment/406712/85fd0ac5-d06d-3e9c-aacc-8e14dbcbdace.jpgIE8/9http://dl.iteye.com/upload/attachment/406714/b2494717-e903-3cf7-b913-d03a3eacb614.jpg
另见:使用滤镜设置透明导致 IE 6/7/8/9 解析异常
页:
[1]