君山 发表于 2020-5-25 11:00:27

解决 innerHTML的浏览器兼容问题

document.getElementById(id).innerHTML=trHtml;

上述代码在IE6-9中无效(IE10正常),直接报错:

  IE9:Invalid target element for this operation.

  IE6-8:Unknown runtime error

发现是在IE6-IE9下,下列元素table,thead,tfoot,tbody,tr,col,colgroup,html,title,style,frameset的innerHTML属性是只读的

解决方案:


function updateOneRow(id,trHtml)
{
//1.获取所在行号
var rowIndex=document.getElementById(id).rowIndex;


//2.从table中删除该行
$("#stationTable tr:eq("+rowIndex+")").remove();

//3.在删除行的位置插入一行
var insertIndex=rowIndex-1;
$(trHtml).insertAfter($("#stationTable tr:eq("+insertIndex+")"));


页: [1]
查看完整版本: 解决 innerHTML的浏览器兼容问题