IE6-IE9不支持table.innerHTML的解决方法分享
<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了。
IE6-IE9不支持table.innerHTML的解决方法分享相关推荐
- IE6/7/8 CSS兼容性问题和解决方法汇总
断断续续的在开发过程中收集了好多的bug以及其解决的办法,都在这个文章里面记录下来了!希望以后解决类似问题的时候能够快速解决,也希望大家能在留言里面跟进自己发现的ie6 7 8bug和解决办法! 1: ...
- mysql不支持union_MySQL中Union子句不支持order by的解决方法
本文实例讲述了MySQL中Union子句不支持order by的解决方法.分享给大家供大家参考,具体如下: 我对DB知之甚少,这问题只在MySQL遇到,不知道别的DBMS是不是也如此. 问题是这样的, ...
- html嵌入audio格式不支持,html5中audio支持音频格式的解决方法
HTML5 Audio标签能够支持wav, mp3, ogg, acc, webm等格式,但有个很重要的音乐文件格式midi(扩展名mid)却在各大浏览器中都没有内置的支持.不是所有的浏览器都支持MP ...
- 2003 server下,IE6不能登录淘宝会员的解决方法
2003 server下,IE6不能登录淘宝会员的解决方法: 一.现象: 在我的淘宝页面的会员登录安全模式下(已安装安全控件)输入会员名.密码,点登录后有窗口闪了一下,还是回到这个界面:如果密码输错了 ...
- Windows2003服务器不支持FLV视频的解决方法
Windows2003服务器不支持FLV视频的解决方法 2007年10月19日 星期五 10:43 A.M. 原因:WIN2003加强了IIS6的MIME验证,一切未注册扩展文件格式统统显示404错误 ...
- Windows IIS注册asp 此操作系统版本不支持此选项 错误解决方法
Windows IIS注册asp 此操作系统版本不支持此选项 错误解决方法 参考文章: (1)Windows IIS注册asp 此操作系统版本不支持此选项 错误解决方法 (2)https://www. ...
- [Bat]UNC路径不支持的2种解决方法
[Bat]UNC路径不支持的2种解决方法 参考文章: (1)[Bat]UNC路径不支持的2种解决方法 (2)https://www.cnblogs.com/masonlu/p/10276546.htm ...
- ac9560不支持承载_Win10不支持承载网络的解决方法
Win10不支持承载网络的解决方法 作者:管理员时间:2015-08-20 19:33:23 Win10造成不支持承载网络的原因一般都是使用驱动精灵等软件更新了无线网卡驱动,因为win10系统有些无线 ...
- [css] 写出你遇到过IE6/7/8/9的BUG及解决方法
[css] 写出你遇到过IE6/7/8/9的BUG及解决方法 把以前兼容IE6.7学习的东西搬出来了,还以为不见了.兼容性问题 1.IE6margin双边距问题 2.IE67 li间隙问题 3.图片间 ...
最新文章
- linux + ffmpeg + eclipse 调试
- B-tree结构菜单的递归查询
- 字符串复制中的while条件
- Node — 第二天
- Nginx----原理
- 没错!现在搞 Python 越来越难了!!
- [Python]Matplotlib绘图基础
- 使用Jsoup 抓取页面的数据
- php防止SQL注入
- TheFatRat自动化渗透工具
- od机考题目-机器人走迷宫
- 哪个软件能代替斐讯路由_斐讯路由app下载-斐讯路由app安卓版下载v7.2.0-聚侠网...
- code first修改表或字段
- Matlab利用plot作图线形颜色等选择
- unity urp 实现丝绸渲染
- 如何在Docker容器中安装RabbitMQ
- 指定搜索词的分词方法——elasticsearch
- 求职简历-NLP工程师
- 负载均衡和动态负载均衡
- 这可能是最详细剖析网格交易的文章了