当前位置:首页 前端开发 正文

ie6-ie9中不支持table.innerHTML的问题

2013年06月13日 | 作者: 米豆网 - 1000seo | 分类: 前端开发 | 

var objtable=document.getElementById('devicelisttable')
var thead=objtable.rows[0].parentNode.innerHTML
objtable.innerHTML=thead+iteminfo.join('');

上面代码在IE6-9中直接报错:

IE9:Invalid target element for this operation.
IE6-8:Unknown runtime error

IE10 中正常。

查看msdn文档http://msdn.microsoft.com/en-us/library/ms533897(VS.85).aspx有这样一段描述:

The innerHTML property is read-only on the col, colGroup, frameSet, html, head, style, table, tBody, tFoot, tHead, title, and tr objects.

原来在ie6-ie9中table的innerHTML是只读的。 解决方法:

function setTableInnerHTML(table, html) {
if(navigator&&navigator.userAgent.match(/msie/i)){
var temp = table.ownerDocument.createElement('div');
temp.innerHTML = '<table><tbody>' + html + '</tbody></table>';
if(table.tBodies.length == 0){
var tbody=document.createElement("tbody");
table.appendChild(tbody);
}
table.replaceChild(temp.firstChild.firstChild, table.tBodies[0]);
}else{
table.innerHTML=html;
}
}

var objtable=document.getElementById('devicelisttable')
var thead=objtable.rows[0].parentNode.innerHTML
setTableInnerHTML(objtable, thead+iteminfo.join(''))
本文章由 米豆网 - 1000seo 于2013年06月13日发布在前端开发分类下,您可以发表评论,并在保留原文地址及作者的情况下引用到你的网站或博客。
+复制链接 转载请注明:ie6-ie9中不支持table.innerHTML的问题-米豆网
关键字:, , , , ,

好文章就要一起分享!

更多

发表评论

你的大名(必填)

你的邮箱(必填)

你的网站(选填)

评论内容(必填)

icon_wink.gif icon_neutral.gif icon_mad.gif icon_twisted.gif icon_smile.gif icon_eek.gif icon_sad.gif icon_rolleyes.gif icon_razz.gif icon_redface.gif icon_surprised.gif icon_mrgreen.gif icon_lol.gif icon_idea.gif icon_biggrin.gif icon_evil.gif icon_cry.gif icon_cool.gif icon_arrow.gif icon_confused.gif icon_question.gif icon_exclaim.gif