为什么IE在这一行抛出错误?

Why does IE throw an error on this line?

本文关键字:一行 出错 错误 IE 为什么      更新时间:2023-09-26

以下代码在Firefox中工作正常,但IE抛出错误:

Line: 41, Char: 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>

在IE中'tr'元素的'innerHTML'是readOnly

该属性对所有对象都是可读/可写的,除了下面的for它是只读的:COL, COLGROUP, FRAMESET, HEAD, HTML, STYLE,TABLE, TBODY, TFOOT, head, TITLE, TR.

来源:http://msdn.microsoft.com/en-us/library/ms533897 (VS.85) . aspx

你可以使用innerHTML创建一个全新的表(可能不是你想做的)或使用document.createElementappendChild/replaceChild等来获得你想要的结果。

希望这对你有帮助!