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实现图片放大镜效果的思路及代码(自写)
Oct 18 Javascript
JS判断对象是否存在的10种方法总结
Dec 23 Javascript
对table和ul实现js分页示例分享
Feb 24 Javascript
iframe实用操作锦集
Apr 22 Javascript
Jquery跳到页面指定位置的方法
May 12 Javascript
jQueryUI Datepicker组件设置日期高亮
Oct 13 Javascript
Jquery Easyui菜单组件Menu使用详解(15)
Dec 18 Javascript
jquery中each循环的简单回滚操作
May 05 jQuery
VueJS 集成 Medium Editor的示例代码 (自定义编辑器按钮)
Aug 24 Javascript
微信小程序官方动态自定义底部tabBar的例子
Sep 04 Javascript
使用p5.js实现动态GIF图片临摹重现
Oct 23 Javascript
jQuery+ajax实现用户登录验证
Sep 13 jQuery
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处理restful请求的路由类分享
2014/02/27 PHP
PHP中in_array函数使用的问题与解决办法
2016/09/11 PHP
PHP 观察者模式深入理解与应用分析
2019/09/25 PHP
JavaScript 无符号右移赋值操作
2009/04/17 Javascript
jquery 分页控件实现代码
2009/11/30 Javascript
jQuery中delegate和on的用法与区别详细解析
2014/01/26 Javascript
JavaScript通过字符串调用函数的实现方法
2015/03/18 Javascript
windows下安装nodejs及框架express
2015/08/07 NodeJs
javascript实现很浪漫的气泡冒出特效
2020/09/05 Javascript
js判断移动端是否安装某款app的多种方法
2015/12/18 Javascript
更高效的使用JQuery 这里总结了8个小技巧
2016/04/13 Javascript
Javascript的比较汇总
2016/07/25 Javascript
jq实现左滑显示删除按钮,点击删除实现删除数据功能(推荐)
2016/08/23 Javascript
jQuery密码强度验证控件使用详解
2017/01/05 Javascript
jQuery ajax动态生成table功能示例
2017/06/14 jQuery
JavaScript之underscore_动力节点Java学院整理
2017/07/03 Javascript
jQuery层叠选择器用法实例分析
2019/06/28 jQuery
详解webpack的clean-webpack-plugin插件报错
2020/10/16 Javascript
python简单实现旋转图片的方法
2015/05/30 Python
Python中内置的日志模块logging用法详解
2016/07/12 Python
老生常谈Python startswith()函数与endswith函数
2017/09/08 Python
pandas实现将dataframe满足某一条件的值选出
2019/06/12 Python
pycharm配置当鼠标悬停时快速提示方法参数
2019/07/31 Python
Python pickle模块实现对象序列化
2019/11/22 Python
英国航空官网:British Airways
2016/09/11 全球购物
美国眼镜网站:EyeBuyDirect
2017/04/13 全球购物
北美最大的零售退货翻新商:VIP Outlet
2019/11/21 全球购物
经典c++面试题三
2015/07/08 面试题
大学生军训自我鉴定
2014/02/12 职场文书
生物学专业求职信
2014/07/23 职场文书
2014最新党员违纪检讨书
2014/10/12 职场文书
党员批评与自我批评总结
2014/10/15 职场文书
PyTorch 如何自动计算梯度
2021/05/23 Python
SpringBoot读取Resource下文件的4种方法
2021/07/02 Java/Android
react 路由Link配置详解
2021/11/11 Javascript
python3中apply函数和lambda函数的使用详解
2022/02/28 Python