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 相关文章推荐
JS时间选择器 兼容IE6,7,8,9
Jun 26 Javascript
jquery实现marquee效果(文字或者图片的水平垂直滚动)
Jan 07 Javascript
js控制表单奇偶行样式的简单方法
Jul 31 Javascript
thinkphp 表名 大小写 窍门
Feb 01 Javascript
jQuery获取上传文件的名称的正则表达式
May 21 Javascript
详解JavaScript语言的基本语法要求
Nov 20 Javascript
解析利用javascript如何判断一个数为素数
Dec 08 Javascript
基于jQuery实现的查看全文功能【实用】
Dec 11 Javascript
js实现移动端微信页面禁止字体放大
Feb 16 Javascript
vue脚手架搭建过程图解
Jun 06 Javascript
微信小程序仿今日头条导航栏滚动解析
Aug 20 Javascript
vue $router和$route的区别详解
Dec 02 Vue.js
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环境中Memcache的安装和使用
2015/11/05 PHP
JQuery 国际象棋棋盘 实现代码
2009/06/26 Javascript
javascript css styleFloat和cssFloat
2010/03/15 Javascript
实现点击列表弹出列表索引的两种方式
2013/03/08 Javascript
Jquery EasyUI中弹出确认对话框以及加载效果示例代码
2014/02/13 Javascript
关注jquery技巧提高jquery技能(前端开发必学)
2015/11/02 Javascript
浅析$(function) ready和onload 的区别
2016/09/03 Javascript
KnockoutJS 3.X API 第四章之事件event绑定
2016/10/10 Javascript
js导出excel文件的简洁方法(推荐)
2016/11/02 Javascript
jQuery实现发送验证码并60秒倒计时功能
2016/11/25 Javascript
自适应布局meta标签中viewport、content、width、initial-scale、minimum-scale、maximum-scale总结
2017/08/18 Javascript
Angular实现下载安装包的功能代码分享
2017/09/05 Javascript
最新Javascript程序员面试试题和解题方法
2017/11/23 Javascript
vue中实现移动端的scroll滚动方法
2018/03/03 Javascript
vue-socket.io跨域问题有效解决方法
2020/02/11 Javascript
vue项目中使用bpmn-自定义platter的示例代码
2020/05/11 Javascript
Python实现一个简单的MySQL类
2015/01/07 Python
Python3.2模拟实现webqq登录
2016/02/15 Python
Python中shutil模块的学习笔记教程
2017/04/04 Python
解决Pycharm中import时无法识别自己写的程序方法
2018/05/18 Python
调整Jupyter notebook的启动目录操作
2020/04/10 Python
Tensorflow之MNIST CNN实现并保存、加载模型
2020/06/17 Python
python实现图像外边界跟踪操作
2020/07/13 Python
pycharm 复制代码出现空格的解决方式
2021/01/15 Python
毕业生找工作推荐信
2013/11/21 职场文书
正规的求职信范文分享
2013/12/11 职场文书
施工班组长岗位职责
2014/01/05 职场文书
法律专业应届生自荐信范文
2014/01/06 职场文书
工伤赔偿协议书
2014/04/15 职场文书
全国文明单位申报材料
2014/05/31 职场文书
体育运动口号
2014/06/09 职场文书
党员批评与自我批评
2014/10/15 职场文书
工会工作个人总结
2015/03/03 职场文书
放假通知范文
2015/04/14 职场文书
2015年度优秀员工获奖感言
2015/07/31 职场文书
如何用六步教会你使用python爬虫爬取数据
2022/04/06 Python