Javascript 为什么IE会在这条线上出错?
以下代码在Firefox中运行正常,但IE抛出了一个错误: 第41行,字符:3出现未接受的运行时错误 为什么IE不能处理这个代码?我需要做什么来修复它Javascript 为什么IE会在这条线上出错?,javascript,internet-explorer,html-table,innerhtml,Javascript,Internet Explorer,Html Table,Innerhtml,以下代码在Firefox中运行正常,但IE抛出了一个错误: 第41行,字符:3出现未接受的运行时错误 为什么IE不能处理这个代码?我需要做什么来修复它 <script> function addComparison() { var tableTR = document.getElementById('comparisons'); if(tableTR!=null) { var td2Add = "<td id='comp_2' va
<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>
函数addComparison()
{
var tableTR=document.getElementById(“比较”);
if(tableTR!=null)
{
var td2Add=“已添加”;
警报(td2Add);
tableTR.innerHTML+=td2Add;//第41行,IE8行出错!
}
}
单击此链接可调用此函数:
<a href='javascript:addComparison();'>Add Comparison</a>
正在尝试更新的元素:
<table>
<tr id='comparisons' valign='top' align='left'></tr>
</table>
'tr'元素上的'innerHTML'在IE中是只读的 除以下对象外,该属性对所有对象都是读/写的,例如 它是只读的:COL、COLGROUP、FRAMESET、HEAD、HTML、STYLE、, 表,TBODY,TFOOT,THEAD,TITLE,TR 资料来源: 但是,您可以使用innerHTML(可能不是您想要的)或使用
document.createElement
和appendChild
/replaceChild
等来创建一个全新的表,以获得预期的结果
希望这有帮助 我想我必须使用document.createElement因为它的价值,这一直是IE中的一个问题。你可以玩弄
documentFragment
,但是。。这不值得。还有很多重画的地方等。