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 相关文章推荐
JavaScript 编程引入命名空间的方法与代码
Aug 13 Javascript
使用mouse事件实现简单的鼠标经过特效
Jan 30 Javascript
JS动态日期时间的获取方法
Sep 28 Javascript
浅谈JavaScript对象的创建方式
Jun 13 Javascript
JavaScript数组去重的几种方法效率测试
Oct 23 Javascript
layui文件上传实现代码
May 20 Javascript
ES6模块化的import和export用法方法总结
Aug 08 Javascript
vue+vuex+axios+echarts画一个动态更新的中国地图的方法
Dec 19 Javascript
详解Vue微信授权登录前后端分离较为优雅的解决方案
Jun 29 Javascript
jQuery无冲突模式详解
Jan 17 jQuery
JS数组方法reduce的用法实例分析
Mar 03 Javascript
npm全局环境变量配置详解
Dec 15 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
DC《小丑》11项提名领跑奥斯卡 Netflix成第92届奥斯卡提名最大赢家
2020/04/09 欧美动漫
深思 PHP 数组遍历的差异(array_diff 的实现)
2008/03/23 PHP
Javascript 设计模式(二) 闭包
2010/05/26 Javascript
基于jquery实现的鼠标滑过按钮改变背景图片
2011/07/15 Javascript
jQuery基本选择器选择元素使用介绍
2013/04/18 Javascript
js函数setTimeout延迟执行的简单介绍
2013/07/17 Javascript
JS比较两个时间大小的简单示例代码
2013/12/20 Javascript
javascript实现table选中的行以指定颜色高亮显示的方法
2015/05/13 Javascript
JavaScript编程学习技巧汇总
2016/02/21 Javascript
jquery对dom节点的操作【推荐】
2016/04/15 Javascript
Knockoutjs 学习系列(二)花式捆绑
2016/06/07 Javascript
全面解析JS字符串和正则表达式中的match、replace、exec等函数
2016/07/01 Javascript
微信小程序 后台https域名绑定和免费的https证书申请详解
2016/11/10 Javascript
es6在react中的应用代码解析
2017/11/08 Javascript
Vue的移动端多图上传插件vue-easy-uploader的示例代码
2017/11/27 Javascript
Vue axios设置访问基础路径方法
2018/09/19 Javascript
基于js Canvas实现二次贝塞尔曲线
2018/12/25 Javascript
jQuery事件blur()方法的使用实例讲解
2019/03/30 jQuery
基于nodejs的微信JS-SDK简单应用实现
2019/05/21 NodeJs
详解Vue3.0 前的 TypeScript 最佳入门实践
2019/06/18 Javascript
微信小程序实现抖音播放效果的实例代码
2020/04/11 Javascript
Python中的魔法方法深入理解
2014/07/09 Python
python中requests和https使用简单示例
2018/01/18 Python
Django CBV与FBV原理及实例详解
2019/08/12 Python
如何使用Python脚本实现文件拷贝
2019/11/20 Python
python连接mysql数据库并读取数据的实现
2020/09/25 Python
针对HTML5的Web Worker使用攻略
2015/07/12 HTML / CSS
社会学专业求职信
2014/02/24 职场文书
2014向国旗敬礼网上签名活动总结
2014/09/27 职场文书
2014年销售部工作总结
2014/12/01 职场文书
圣贤教育改变命运观后感
2015/06/16 职场文书
庆元旦主持词
2015/07/06 职场文书
关于环保的广播稿
2015/12/17 职场文书
普希金诗歌赏析(6首)
2019/08/22 职场文书
go语言求任意类型切片的长度操作
2021/04/26 Golang
MySQL创建定时任务
2022/01/22 MySQL