MSDN可以了解跟多,关于innerHTML的介绍,但是在这里只要是解决表格部分问题

MSDN上有这样的记录:

When using innerHTML to insert script, you must include the defer attribute in the script element.

The innerHTML property is read-only on the colcolGroupframeSethtmlheadstyletabletBodytFoottHeadtitle, and tr objects.

col、colGroup、frameset、html、head、style、table、tfoot、tHead、title和tr的innerHTML都是只读的

但是在IE10以及以上版本修复这个问题,那当我们在使用表格快捷插入对象时,该怎么实现尼?

先来看看问题:  

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<table class="table" id="table">
<tbody> </tbody>
</table>
</body>
</html>
  var tbody = document.getElementsByTagName("tbody")[0];
var str = "<tr><td>IE6-IE9不能使用该方式,我该怎么办</td></tr>";
tbody.innerHTML = str;

解决方式: 可以借用其它元素(document中存在,也可以是文档碎片(未加入文档))辅助完成

    

        var tbody = document.getElementsByTagName("tbody")[0];
var str = "<tr><td>IE6-IE9不能使用该方式,我该怎么办</td></tr>";
// tbody.innerHTML = str;
var div = document.createElement("div");
div.innerHTML = "<table>" + str + "</table>"; //这里为什么要加外围table 因为div中是不能直接追加 表单元素(thead tbody tr td...)
tbody.appendChild(div.firstChild.firstChild);

那我们来看看效果:

上面代码主要先穿件一个支持innerHTML属性的父容器来包裹 表格元素,再通过appendChild方式追加到表格元素中,这只是其中一种当然可能还有更好办法,欢迎补充

解决 innerHTML 在 IE6-IE9中不能赋值的bug的更多相关文章

  1. IE9中Media queries在iframe无效的解决方法

    在css中有5个media querie @media screen and(min-width:0px)and(max-width:319px){ body {background-color:re ...

  2. .NET在IE9中页面间URL传递中文变成乱码的解决办法

     在.Net的项目中,鼠标点击查询按钮,转到查询页面,但URL中包含中文时,传到服务器端后,中文变成了乱码(只有IE9出现该问题).       尝试使用Server.UrlEncode()进行编码, ...

  3. IE6/7中li浮动外边距无法撑开ul的解决方法

    昨天群里有人提出了这样的问题: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 < ...

  4. Html中DIV成为超级链接,解决在360浏览器+IE9显示小手图标的兼容性!

    Html中DIV成为超级链接,解决在360浏览器+IE9显示小手图标的兼容性! <div style="cursor:pointer;" onclick="sele ...

  5. span 右浮动折行 解决ie6/7中span右浮动折行问题

    A floated box is shifted to the left or right until its outer edge touches the containing block edge ...

  6. 完美解决浮动IE6 7中的兼容性BUG问题

    想要创建出漂亮的网页设计,除了要认真学习每一个html和CSS代码之外,不可能不去了解一下臭名昭著的IE6和更早的那些IE浏览器的坏脾气,因为你本来写出的规规矩矩的代码,漂亮的设计就此就要完成了,却发 ...

  7. span 右浮动折行 解决ie6/7中span右浮动折行问题

    RM8005: IE6 IE7 IE8(Q) 中行内元素后相邻的浮动元素在某些情况下会折行放置在之前行内元素所在行框的底部 标准参考 W3C CSS 2.1 规范文档里对于浮动元素与非浮动行内元素相邻 ...

  8. ckfinder在IE10,IE9中的弹出框不能选择,或者不能上传解决方法

    在IE9,或IE10中ckfinder在IE10,IE9中的弹出框不能选择,或者不能上传解决方法   把弹出框嵌入到jquery dialog中.可以解决 I did: // javascript f ...

  9. 【Java EE 学习 70 下】【数据采集系统第二天】【Action中User注入】【设计调查页面】【Action中模型赋值问题】【编辑调查】

    一.Action中User注入问题 Action中可能会经常用到已经登陆的User对象,如果每次都从Session中拿会显得非常繁琐.可以想一种方法,当Action想要获取User对象的时候直接使用, ...

随机推荐

  1. JavaWeb三大组件(Servlet,Filter,Listener 自己整理,初学者可以借鉴一下)

    JavaWeb三大组件(Servlet,Filter,Listener 自己整理,初学者可以借鉴一下) Reference

  2. C#(Net)软件开发常用工具汇总,提高你的开发效率

    C#(Net)软件开发常用工具汇总,提高你的开发效率 写代码也要读书,爱全栈,更爱生活.每日更新原创IT编程技术及日常实用技术文章. 我们的目标是:玩得转服务器Web开发,搞得懂移动端,电脑客户端更是 ...

  3. 服务器上开启远程sqlserver小细节

    之前按网络上过程配置完成后,连接都很正常.今天看的时候,突然就连接不上了.弄了半天,终于知道问题在哪里了.

  4. C#Graphics画图

    public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { G ...

  5. Objective-C中instancetype和id的区别

    要区分instancetype和id,首先要弄清楚什么是关联返回类型(Related Result Type). 关联返回类型即一个方法的返回类型就是调用这个方法的调用者的类型.具有下列条件的方法具有 ...

  6. amchart

    amchart能够根据提供的数据便捷的生成好看的图标,曾在项目中遇到使用falsh版以支持对js支持不好的低版本浏览器,但是现在官网上都是js版本的,flash版的文档都没有,搜索结果一般都是链接到博 ...

  7. 将含有父ID的列表转成树

    我们知道数据库一般是以一个列表(id,pid)的形式保存树的.如何提取这棵树呢?最简单的方法就是根据pid循环查表.但是毫无疑问,这会产生巨大的数据库查询开销. 那么一般建议的方法是一次性将全部相关数 ...

  8. JQuery 获取自身的HTml代码

    $('.top').append($(this).prop("outerHTML"));

  9. 【课上OJ】掉入陷阱的数

    对任意一个自然数N0,先将其各位数字相加求和,再将其和乘以3后加上1,变成一个新自然数N1,然后对N1重复这种操作,可以产生新自然数N2,多次重复这种操作运算,运算结果最终会得到一个固定不变的数Nk, ...

  10. 接私活,得有套好框架,.net快速开发神器

    同一家公司的同事,拿同样的工资,以前他在用肾机,我还在用诺记.吃饭的时候他是买单王,我在想这家伙应该没存什么钱吧.结果前段时间他买了个沃尔沃S60L,可我一套省城小三房的首付都还没凑齐. 他说他经常在 ...