javascript - innerHTML如何兼容ie?
天蓬老师
天蓬老师 2017-04-11 10:20:19
[JavaScript讨论组]

我想在文档中添加html标签
最初是这样的做的,但是太麻烦。

<body></body>
<script>
function XX(){
    var t1 = document.createElement("table");
    var t2 = document.createElement("tr");
    var t3 = document.createElement("td");
    var t4 = document.createTextNode("11111");
    var t5 = document.createElement("td");
    var t6 = document.createTextNode("22222");
    document.body.appendChild(t1);
    t1.appendChild(t2);
    t2.appendChild(t3);
    t3.appendChild(t4);
    t2.appendChild(t5);
    t5.appendChild(t6);

    t1.setAttribute("border","1");
    t1.setAttribute("width","100%");
}
XX();
</script>

后来有这样做,可是不兼容ie。

<script>
window.onload=function x(){
    document.body.innerHTML="<table><tr><td>1sssss1</td><td>22sss</td></tr><tr><td>1sss1</td><td>22sss</td></tr></table>"
}
</script>

有什么好办法吗?谢谢

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

全部回复(3)
高洛峰

试试这个。

<table id="table"></table>
var str = "<tr><td>1sssss1</td><td>22sss</td></tr><tr><td>1sss1</td><td>22sss</td></tr>";

setTableInnerHTML(document.getElementById('table'), str);

function setTableInnerHTML(table, html) {
  if (navigator && navigator.userAgent.match(/msie/i)) {
    var temp = table.ownerDocument.createElement('p');
    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;
  }
}
阿神

innerHTML 印象中是兼容 IE6 的啊?是不是 document.body 的问题?换个 dom 节点试试?

怪我咯

http://stackoverflow.com/ques...

By 搬运工

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号