IE6-IE9不支持table.innerHTML的解决方法分享


Posted in Javascript onSeptember 14, 2012

测试代码:

<table id="test"> 
</table> 
<script> 
var oTable=document.getElementById("test"); 
oTable.innerHTML="<tr><td>innerHTML</td></tr>"; 
</script>

上述代码在IE6-9中无效,直接报错:

IE9:Invalid target element for this operation.

IE6-8:Unknown runtime error

查找IE的文档(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.

所以只能用其他方案解,我的方案:
var oTable=document.getElementById("test"); 
//oTable.innerHTML="<tr><td>innerHTML</td></tr>"; 
setTableInnerHTML(oTable,"<tr><td>innerHTML</td></tr>"); 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; 
} 
}

这里只是对table做了处理,对其他不支持的元素可以用类似的方案。

另外,IE10中table已经支持innerHTML了。

作者:Artwl

Javascript 相关文章推荐
学习YUI.Ext 第四天--对话框Dialog的使用
Mar 10 Javascript
JS获取页面窗口大小的代码解读
Dec 01 Javascript
Js数组的操作push,pop,shift,unshift等方法详细介绍
Dec 28 Javascript
js导出table数据到excel即导出为EXCEL文档的方法
Oct 10 Javascript
jQuery中innerWidth()方法用法实例
Jan 19 Javascript
javascript制作游戏开发碰撞检测的封装代码
Mar 31 Javascript
Vue.js仿Metronic高级表格(一)静态设计
Apr 17 Javascript
backbone简介_动力节点Java学院整理
Jul 14 Javascript
Vue响应式原理深入解析及注意事项
Dec 11 Javascript
用ES6写全屏滚动插件的示例代码
May 02 Javascript
详解小程序如何动态绑定点击的执行方法
Nov 26 Javascript
vue 通过 Prop 向子组件传递数据的实现方法
Oct 30 Javascript
javascript时区函数介绍
Sep 14 #Javascript
推荐40个简单的 jQuery 导航插件和教程(下篇)
Sep 14 #Javascript
推荐40款强大的 jQuery 导航插件和教程(上篇)
Sep 14 #Javascript
基于JQuery的一句话搞定手风琴菜单
Sep 14 #Javascript
JQuery select控件的相关操作实现代码
Sep 14 #Javascript
11个用于提高排版水平的基于jquery的文字效果插件
Sep 14 #Javascript
六款帮助你实现惊艳视差滚动效果的jQuery插件
Sep 14 #Javascript
You might like
咖啡与水的关系
2021/03/03 冲泡冲煮
PHP的加密方式及原理
2012/06/14 PHP
filemanage功能中用到的common.js
2007/04/08 Javascript
让任务管理器中的CPU跳舞的js代码
2008/11/01 Javascript
Javascript remove 自定义数组删除方法
2009/10/20 Javascript
js过滤数组重复元素的方法
2010/09/05 Javascript
JQuery拖拽元素改变大小尺寸实现代码
2012/12/10 Javascript
鼠标左键单击冲突的问题解决方法(防止冒泡)
2014/05/14 Javascript
一个小例子解释如何来阻止Jquery事件冒泡
2014/07/17 Javascript
js实现DOM走马灯特效的方法
2015/01/21 Javascript
Javascript中函数名.length属性用法分析(对比arguments.length)
2016/09/16 Javascript
js按条件生成随机json:randomjson实现方法
2017/04/07 Javascript
简单谈谈axios中的get,post方法
2017/06/25 Javascript
BootStrap实现文件上传并带有进度条效果
2017/09/11 Javascript
vue组件之Alert的实现代码
2017/10/17 Javascript
使用async-validator编写Form组件的方法
2018/01/10 Javascript
Vue 动态设置路由参数的案例分析
2018/04/24 Javascript
Vue组件间通信方法总结(父子组件、兄弟组件及祖先后代组件间)
2019/04/17 Javascript
[01:21]2018DOTA2亚洲邀请赛4.5采访 打DOTA2也能有女朋友?
2018/04/06 DOTA
[01:01:52]DOTA2-DPC中国联赛正赛 iG vs LBZS BO3 第一场 3月4日
2021/03/11 DOTA
Python脚本实现自动将数据库备份到 Dropbox
2017/02/06 Python
Python实现基于二叉树存储结构的堆排序算法示例
2017/12/08 Python
在VS Code上搭建Python开发环境的方法
2018/04/06 Python
python如何用matplotlib创建三维图表
2021/01/26 Python
医学专业毕业生个人求职信
2013/12/25 职场文书
初婚未育证明
2014/01/15 职场文书
提拔干部考察材料
2014/05/26 职场文书
化学专业毕业生求职信
2014/07/28 职场文书
沙滩主题婚礼活动策划方案
2014/09/15 职场文书
派出所副所长四风问题个人整改措施思想汇报
2014/10/13 职场文书
融资合作协议书范本
2014/10/17 职场文书
小学生学习保证书
2015/02/26 职场文书
2015年度房地产工作总结
2015/04/09 职场文书
2015年食品安全宣传周活动总结
2015/07/09 职场文书
python urllib库的使用详解
2021/04/13 Python
Python使用pyecharts控件绘制图表
2022/06/05 Python