2012-06-08 34 views
0

我使用此代码on jsfiddle为表格动态添加边框,它可以在FF和Chrome中运行,但在IE8中无效(或抛出任何错误)。谁能告诉我什么是错的?为什么我的动态添加的边框不会显示在IE8中?

[编辑] 这不完全回答的具体问题,但我真正的问题的最佳解决方案是动态设置(添加)一个CSS类 - 这个工作在所有浏览器,我关心的是:

CSS:

td.bleft { 
border-left:2px solid black; 
} 

JS代码(其中 “细胞” 是指TD元素):

cell.className += " bleft"; 
+0

我没有IE8手头来测试它,但你有没有尝试过使用'el.style.borderRight'? – MartinodF

回答

0

您必须更新各个零件的复合“便利”样式。 Your fiddle, updated.

下面的代码:

for (var i = 0; i < tbl.rows.length; i++) { 
    tbl.rows[i].cells[0].style["borderRightWidth"] = "2px"; 
    tbl.rows[i].cells[0].style["borderRightColor"] = "black"; 
    tbl.rows[i].cells[0].style["borderRightStyle"] = "solid"; 
} 

此致没有工作在Firefox,我(直到我改变了它)。

+0

这也适用!你偶然有链接讨论“便利”的风格,所以我可以去教育自己吗? – Aerik

+0

@Aerik很好,诸如“边界”,“边距”,“填充”,“字体”等任何东西,其中有设置的不同部分的值列表适用。有些浏览器会允许他们,其他浏览器则不会。 – Pointy

2

作为一个猜测,我会尝试style.borderRight研究所ead的style['border-right']

+0

这样做,谢谢! – Aerik

相关问题