请问下IE8及以下的浏览器中怎样写入innerhtml?在现代浏览器中是能够写入,但是在ie8及以下浏览器中就是空值
PHP中文网2017-04-10 17:17:07
IE6-IE9中不能够直接使用innerHTML,那么就使用replaceChild()函数替换table中的元素,进行替换的元素中包含原本innerHTML要包含的内容
或者参考下面的代码
<table id="test">
</table>
<script>
var oTable=document.getElementById("test");
oTable.innerHTML="<tr><td>innerHTML</td></tr>";
</script>
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('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;
}
}