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 26 Javascript
ASP.NET jQuery 实例17 通过使用jQuery validation插件校验ListBox
Feb 03 Javascript
js异常捕获方法介绍
Apr 10 Javascript
js实现二级菜单渐隐显示
Nov 03 Javascript
js与jquery正则验证电子邮箱、手机号、邮政编码的方法
Jul 04 Javascript
原生js实现class的添加和删除简单代码
Jul 12 Javascript
bootstrap基础知识学习笔记
Nov 02 Javascript
seajs中最常用的7个功能、配置示例
Oct 10 Javascript
Servlet3.0与纯javascript通过Ajax交互的实例详解
Mar 18 Javascript
Node.js引入UIBootstrap的方法示例
May 11 Javascript
基于vue实现滚动条滚动到指定位置对应位置数字进行tween特效
Apr 18 Javascript
深入浅析ng-bootstrap 组件集中 tabset 组件的实现分析
Jul 19 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扩展开发入门教程
2015/02/26 PHP
smarty模板引擎之分配数据类型
2015/03/30 PHP
Laravel框架在本地虚拟机快速安装的方法详解
2018/06/11 PHP
用roll.js实现的图片自动滚动+鼠标触动的特效
2007/03/18 Javascript
jquery获取选中的文本和值的方法
2014/07/08 Javascript
JavaScript字符串对象slice方法入门实例(用于字符串截取)
2014/10/16 Javascript
JavaScript替换当前页面的方法
2015/04/03 Javascript
全面接触神奇的Bootstrap导航条实战篇
2016/08/01 Javascript
jQuery包裹节点用法完整示例
2016/09/13 Javascript
javaScript 事件绑定、事件冒泡、事件捕获和事件执行顺序整理总结
2016/10/10 Javascript
JavaScript运动框架 解决防抖动问题、悬浮对联(二)
2017/05/17 Javascript
Node.js开发第三方微信公众平台
2017/06/05 Javascript
layui table设置前台过滤转义等方法
2018/08/17 Javascript
react实现antd线上主题动态切换功能
2019/08/12 Javascript
vue仿淘宝滑动验证码功能(样式模仿)
2019/12/10 Javascript
[01:56]《DOTA2》中文配音CG
2013/04/22 DOTA
在python的WEB框架Flask中使用多个配置文件的解决方法
2014/04/18 Python
python文件操作整理汇总
2014/10/21 Python
Python实现PS图像明亮度调整效果示例
2018/01/23 Python
python使用turtle库绘制树
2018/06/25 Python
pygame游戏之旅 计算游戏中躲过的障碍数量
2018/11/20 Python
Python正则表达式和re库知识点总结
2019/02/11 Python
详解Django 时间与时区设置问题
2019/07/23 Python
python同步windows和linux文件
2019/08/29 Python
python每5分钟从kafka中提取数据的例子
2019/12/23 Python
Python存储读取HDF5文件代码解析
2020/11/25 Python
python之pygame模块实现飞机大战完整代码
2020/11/29 Python
CSS实现圆形放大镜狙击镜效果 只有圆圈里的放大
2012/12/10 HTML / CSS
HTML5 File接口在web页面上使用文件下载
2017/02/27 HTML / CSS
阿里巴巴的Oracle DBA笔试题答案-SQL tuning类
2016/04/03 面试题
介绍一下HTTP、HTTPS和SSL
2012/12/16 面试题
学校卫生检查制度
2014/02/03 职场文书
《凡卡》教学反思
2014/04/09 职场文书
中秋节寄语2015
2015/03/24 职场文书
大学班干部竞选稿
2015/11/20 职场文书
Nginx+Tomcat负载均衡多实例详解
2022/04/11 Servers