最近发现各大类库都能利用div.innerHTML=HTML片断来生成节点元素,再把它们插入到目标元素的各个位置上。这东西实际上就是insertAdjacentHTML,但是IE可恶的innerHTML把这优势变成劣势。首先innerHTML会把里面的某些位置的空白去掉,见下面运行框的结果:
<!doctype html>
<html dir=\"ltr\" lang=\"zh-CN\">
<head>
<meta charset=\"utf-8\" />
<title>
IE的innerHTML By 司徒正美
</title>
<script type=\"text/javascript\">
window.onload = function() {
var div = document.createElement(\"div\");
div.innerHTML = \" <td> <b>司徒</b>正美 </td> \"
alert(\"|\" + div.innerHTML + \"|\");
var c = div.childNodes;
alert(\"生成的节点个数 \" + c.length);
for(var i=0,n=c.length;i<n;i++){
alert(c[i].nodeType);
if(c[i].nodeType === 1){
alert(\":: \"+c[i].childNodes.length);
}
}
}
</script>
</head>
<body>
<p id=\"p\">
</p>
</body>
</html>
本文地址:https://www.stayed.cn/item/24698
转载请注明出处。
本站部分内容来源于网络,如侵犯到您的权益,请 联系我