|
最近發現各大類庫都能利用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>
it知識庫:javascript 動態插入技術,轉載需保留來源!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。