javascript - innerHTML如何兼容ie?

查看:63
本文介绍了javascript - innerHTML如何兼容ie?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

我想在文档中添加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>

有什么好办法吗?谢谢

解决方案

试试这个。

<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('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;
  }
}

这篇关于javascript - innerHTML如何兼容ie?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆