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 相关文章推荐
jquery 仿QQ校友的DIV模拟窗口效果源码
Mar 24 Javascript
纯文字版返回顶端的js代码
Aug 01 Javascript
JavaScript中的style.cssText使用教程
Nov 06 Javascript
JS动态修改iframe高度和宽度的方法
Apr 01 Javascript
JavaScript中的Function函数
Aug 27 Javascript
JS闭包与延迟求值用法示例
Dec 22 Javascript
jQuery模拟淘宝购物车功能
Feb 27 Javascript
AjaxUpLoad.js实现文件上传功能
Mar 02 Javascript
vuex实现登录状态的存储,未登录状态不允许浏览的方法
Mar 09 Javascript
vue源码学习之Object.defineProperty对象属性监听
May 30 Javascript
Javascript读取上传文件内容/类型/字节数
Apr 30 Javascript
微信小程序 如何保持登录状态
Aug 16 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
php小偷相关截取函数备忘
2010/11/28 PHP
Ajax中的JSON格式与php传输过程全面解析
2017/11/14 PHP
JavaScript静态的动态
2006/09/18 Javascript
js 小贴士一星期合集
2010/04/07 Javascript
提取jquery的ready()方法单独使用示例
2014/03/25 Javascript
jQuery取id有.的值的方法
2014/05/21 Javascript
php利用curl获取远程图片实现方法
2015/10/26 Javascript
jQuery中的AjaxSubmit使用讲解
2016/09/25 Javascript
Angular.JS实现无限级的联动菜单(使用demo)
2017/02/08 Javascript
详解如何将angular-ui的图片轮播组件封装成一个指令
2017/05/09 Javascript
angular ng-click防止重复提交实例
2017/06/16 Javascript
JavaScript箭头函数_动力节点Java学院整理
2017/06/28 Javascript
微信小程序修改swiper默认指示器样式的实例代码
2018/07/18 Javascript
解决vuecli3.0热更新失效的问题
2018/09/19 Javascript
微信自定义分享链接信息(标题,图片和内容)实现过程详解
2019/09/04 Javascript
vue2.x数组劫持原理的实现
2020/04/19 Javascript
Python实现二分法算法实例
2015/02/02 Python
python实现下载文件的三种方法
2017/02/09 Python
Python3.6简单操作Mysql数据库
2017/09/12 Python
一百多行python代码实现抢票助手
2018/09/25 Python
python中将zip压缩包转为gz.tar的方法
2018/10/18 Python
Python中实现单例模式的n种方式和原理
2018/11/14 Python
numpy.random.shuffle打乱顺序函数的实现
2019/09/10 Python
如何使用python实现模拟鼠标点击
2020/01/06 Python
Pytorch模型转onnx模型实例
2020/01/15 Python
记一次python 爬虫爬取深圳租房信息的过程及遇到的问题
2020/11/24 Python
保加利亚服装和鞋类购物网站:Bibloo.bg
2020/11/08 全球购物
主题酒店策划书
2014/01/28 职场文书
国培教师自我鉴定
2014/02/12 职场文书
人力资源部经理岗位职责规定
2014/02/23 职场文书
热爱祖国演讲稿
2014/05/04 职场文书
2015年教导处教学工作总结
2015/07/22 职场文书
学校标语口号大全
2015/12/26 职场文书
《一面五星红旗》教学反思
2016/02/23 职场文书
CSS 实现多彩、智能的阴影效果
2021/05/12 HTML / CSS
python中tkinter复选框使用操作
2021/11/11 Python