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 学习笔记 选择器之六
Jul 23 Javascript
Jquery 动态添加按钮实现代码
May 06 Javascript
javascript打印大全(打印页面设置/打印预览代码)
Mar 29 Javascript
js 判断控件获得焦点的示例代码
Mar 04 Javascript
js判断文本框剩余可输入字数的方法
Feb 04 Javascript
angularjs学习笔记之简单介绍
Sep 26 Javascript
基于jQuery实现弹出可关闭遮罩提示框实例代码
Jul 18 Javascript
JS检测是否可以访问公网服务器功能代码
Jun 19 Javascript
react router4+redux实现路由权限控制的方法
May 03 Javascript
实例分析Array.from(arr)与[...arr]到底有何不同
Apr 09 Javascript
VUE实现Studio管理后台之鼠标拖放改变窗口大小
Mar 04 Javascript
Javascript如何递归遍历本地文件夹
Aug 06 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使用Jpgraph绘制饼状图的方法
2015/06/10 PHP
thinkphp制作404跳转页的简单实现方法
2016/09/22 PHP
thinkphp整合微信支付代码分享
2016/11/24 PHP
php支付宝APP支付功能
2020/07/29 PHP
Laravel框架Eloquent ORM简介、模型建立及查询数据操作详解
2019/12/04 PHP
基于Jquery的文字滚动跑马灯插件(一个页面多个滚动区)
2010/07/26 Javascript
javascript 弹出窗口中是否显示地址栏的实现代码
2011/04/14 Javascript
JavaScript 产生不重复的随机数三种实现思路
2012/12/13 Javascript
jquery重新播放css动画所遇问题解决
2013/08/21 Javascript
css样式标签和js语法属性区别
2013/11/06 Javascript
调用HttpHanlder的几种返回方式小结
2013/12/20 Javascript
js数组循环遍历数组内所有元素的方法
2014/01/18 Javascript
jQuery使用toggleClass方法动态添加删除Class样式的方法
2015/03/26 Javascript
举例详解AngularJS中ngShow和ngHide的使用方法
2015/06/19 Javascript
在Node.js应用中使用Redis的方法简介
2015/06/24 Javascript
JS实现三个层重叠点击互相切换的方法
2015/10/06 Javascript
JS动态的把左边列表添加到右边的实现代码(可上下移动)
2016/11/17 Javascript
JavaScript类的继承方法小结【组合继承分析】
2018/07/11 Javascript
node和vue实现商城用户地址模块
2018/12/05 Javascript
JS中的const命令你真懂它吗
2020/03/08 Javascript
vue过滤器实现日期格式化的案例分析
2020/07/02 Javascript
Vue作用域插槽实现方法及作用详解
2020/07/08 Javascript
JavaScript中EventBus实现对象之间通信
2020/10/18 Javascript
Python脚本处理空格的方法
2016/08/08 Python
python中Switch/Case实现的示例代码
2017/11/09 Python
django开发教程之利用缓存文件进行页面缓存的方法
2017/11/10 Python
利用python 更新ssh 远程代码 操作远程服务器的实现代码
2018/02/08 Python
Python3 Tkinter选择路径功能的实现方法
2019/06/14 Python
Python实现生成密码字典的方法示例
2019/09/02 Python
Python pyautogui模块实现鼠标键盘自动化方法详解
2020/02/17 Python
欧洲高端品牌直销店:Fashionesta
2016/08/31 全球购物
京东国际站:JOYBUY
2017/11/23 全球购物
俄罗斯电子产品在线商店:UltraTrade
2020/01/30 全球购物
迟到检讨书大全
2014/01/25 职场文书
台风停课通知
2015/04/24 职场文书
Python基础之常用库常用方法整理
2021/04/30 Python