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 相关文章推荐
encode脚本和normal脚本混用的问题与解决方法
Mar 08 Javascript
关于图片按比例自适应缩放的js代码
Oct 30 Javascript
javascript对中文按照拼音排序代码
Aug 20 Javascript
jQuery层动画定位滑动效果的方法
Apr 30 Javascript
bootstrap flask登录页面编写实例
Nov 01 Javascript
canvas绘图不清晰的解决方案
Feb 28 Javascript
JS仿JQuery选择器功能
Mar 08 Javascript
JS实现的简单拖拽功能示例
Mar 13 Javascript
vue配置请求本地json数据的方法
Apr 11 Javascript
在vue项目中正确使用iconfont的方法
Sep 28 Javascript
Vue 实例事件简单示例
Sep 19 Javascript
解决vue语法会有延迟加载显现{{xxx}}的问题
Nov 14 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
基于PHP5魔术常量与魔术方法的详解
2013/06/13 PHP
ThinkPHP模板输出display用法分析
2014/11/26 PHP
php生成不重复随机数、数组的4种方法分享
2015/03/30 PHP
PHP导入导出Excel代码
2015/07/07 PHP
php实现与python进行socket通信的方法示例
2017/08/30 PHP
PHP的静态方法与普通方法用法实例分析
2019/09/26 PHP
javascript 面向对象的JavaScript类
2010/05/04 Javascript
jquery索引在使用中的一些困惑
2013/10/24 Javascript
用javascript为页面添加天气显示实现思路及代码
2013/12/02 Javascript
解决JS中乘法的浮点错误的方法
2014/01/03 Javascript
javascript二维数组转置实例
2015/01/22 Javascript
JS实现的页面自定义滚动条效果
2015/10/26 Javascript
js实现prototype扩展的方法(字符串,日期,数组扩展)
2016/01/14 Javascript
JavaScript如何实现组合列表框中元素移动效果
2016/03/01 Javascript
创建基于Bootstrap的下拉菜单的DropDownList的JQuery插件
2016/06/02 Javascript
超全面的javascript中变量命名规则
2017/02/09 Javascript
详解vue-cli开发环境跨域问题解决方案
2017/06/06 Javascript
使用Angular CLI进行Build(构建)和Serve详解
2018/03/24 Javascript
VUE.js实现动态设置输入框disabled属性
2019/10/28 Javascript
vue 使用鼠标滚动加载数据的例子
2019/10/31 Javascript
VUE 动态组件的应用案例分析
2019/12/02 Javascript
jQuery实现鼠标移入显示蒙版效果
2020/01/11 jQuery
微信小程序保存图片到相册权限设置
2020/04/09 Javascript
解决Can't find variable: SockJS vue项目的问题
2020/09/22 Javascript
python定时采集摄像头图像上传ftp服务器功能实现
2013/12/23 Python
python中偏函数partial用法实例分析
2015/07/08 Python
Python使用matplotlib绘制三维图形示例
2018/08/25 Python
Python 数据的累加与统计的示例代码
2020/08/03 Python
用css3制作纸张效果(外翻卷角)
2013/02/01 HTML / CSS
Adobe Html5 Extension开发初体验图文教程
2017/11/14 HTML / CSS
承诺书样本
2014/08/30 职场文书
邀请函格式范文
2015/02/02 职场文书
美容院员工规章制度
2015/08/05 职场文书
村党总支部公开承诺书2016
2016/03/25 职场文书
关于感恩的歌曲整理(8首)
2019/08/14 职场文书
thinkphp 获取控制器及控制器方法
2021/04/16 PHP