以下代码在Firefox中工作正常,但IE引发了错误:
线路上的未接受的运行时错误:41,字符:3。
为什么IE无法处理此代码?我需要做些什么来解决它?
<script>
function addComparison()
{
var tableTR = document.getElementById('comparisons');
if(tableTR!=null)
{
var td2Add = "<td id='comp_2' valign='top' align='left' style='border-right: 1px solid black'>ADDED</td>";
alert(td2Add);
tableTR.innerHTML += td2Add; //LINE 41, the line IE8 errors on!
}
}
</script>
点击此链接调用该函数:
<a href='javascript:addComparison();'>Add Comparison</a>
它试图更新的元素:
<table>
<tr id='comparisons' valign='top' align='left'></tr>
</table>
答案 0 :(得分:3)
除以下内容外,所有对象的属性都是可读/写的 它是只读的:COL,COLGROUP,FRAMESET,HEAD,HTML,STYLE, 表,TBODY,TFOOT,THEAD,TITLE,TR。
来源:http://msdn.microsoft.com/en-us/library/ms533897(VS.85).aspx
然而,您可以使用innerHTML创建一个全新的表(可能不是您想要做的)或使用document.createElement
和appendChild
/ replaceChild
等来获得预期的结果。
希望这有帮助!