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 触发HTML元素绑定的函数
Sep 11 Javascript
javascript string字符串优化问题
Jul 31 Javascript
在javaScript中关于submit和button的区别介绍
Oct 20 Javascript
Javascript中封装window.open解决不兼容问题
Sep 28 Javascript
js使用split函数按照多个字符对字符串进行分割的方法
Mar 20 Javascript
JS组件Bootstrap Table布局详解
May 27 Javascript
javascript 用函数实现继承详解
May 28 Javascript
浅谈javascript中执行环境(作用域)与作用域链
Dec 08 Javascript
微信小程序搜索组件wxSearch实例详解
Jun 08 Javascript
详解封装基础的angular4的request请求方法
Jun 05 Javascript
一个Java程序猿眼中的前后端分离以及Vue.js入门(推荐)
Apr 19 Javascript
JS面向对象编程基础篇(三) 继承操作实例详解
Mar 03 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实现ODBC数据分页显示一例
2006/10/09 PHP
php基于mcrypt的加密解密实例
2014/10/27 PHP
前端必学之PHP语法基础
2016/01/01 PHP
thinkPHP框架中执行原生SQL语句的方法
2017/10/25 PHP
innerHTML 和 getElementsByName 在IE下面的bug 的解决
2010/04/09 Javascript
jquery 卷帘效果实现代码(不同方向)
2013/02/05 Javascript
javascript变量作用域使用中常见错误总结
2013/03/26 Javascript
firefox下jquery ajax返回object XMLDocument处理方法
2014/01/26 Javascript
jquery ajax,ashx,json的用法总结
2014/02/12 Javascript
jquery制作弹窗提示窗口代码分享
2014/03/02 Javascript
jquery计算鼠标和指定元素之间距离的方法
2015/06/26 Javascript
JavaScript中判断两个字符串是否相等的方法
2015/07/07 Javascript
js实现页面跳转的五种方法推荐
2016/03/10 Javascript
js 数字、字符串、布尔值的转换方法(必看)
2017/04/07 Javascript
vue中用H5实现文件上传的方法实例代码
2017/05/27 Javascript
如何用webpack4.0撸单页/多页脚手架 (jquery, react, vue, typescript)
2019/06/18 jQuery
开源一个微信小程序仪表盘组件过程解析
2019/07/30 Javascript
[44:47]Ti4 循环赛第三日 iG vs NaVi
2014/07/12 DOTA
Python中尝试多线程编程的一个简明例子
2015/04/07 Python
Python变量和数据类型详解
2017/02/15 Python
tensorflow学习教程之文本分类详析
2018/08/07 Python
python-django中的APPEND_SLASH实现方法
2019/06/21 Python
Django 查询数据库并返回页面的例子
2019/08/12 Python
python elasticsearch环境搭建详解
2019/09/02 Python
Django xadmin开启搜索功能的实现
2019/11/15 Python
Django模板之基本的 for 循环 和 List内容的显示方式
2020/03/31 Python
python中 _、__、__xx__()区别及使用场景
2020/06/30 Python
利用Python实现字幕挂载(把字幕文件与视频合并)思路详解
2020/10/21 Python
钉钉企业内部H5微应用开发详解
2020/05/12 HTML / CSS
美国奢侈品购物平台:Orchard Mile
2018/05/02 全球购物
意大利比基尼品牌:MISS BIKINI
2019/11/02 全球购物
什么是反射?如何实现反射?
2016/07/25 面试题
家长给幼儿园的表扬信
2014/01/09 职场文书
幼儿教师师德承诺书
2014/05/23 职场文书
教师继续教育反思周记
2015/06/25 职场文书
Java中的Kafka为什么性能这么快及4大核心详析
2022/09/23 Java/Android