為什么顯示有7個節點 3個類型?
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>無標題文檔</title>
</head>
<body>
<div>
? javascript ?
? <p>javascript</p>
? <div>jQuery</div>
? <h5>PHP</h5>
</div>
<script type="text/javascript">
? ? var div=document.getElementsByTagName("div")[0].childNodes;
? ? document.write("zijiediangeshu"+div.length+"<br />");
? ? document.write("jiedianleixing"+div[0].nodeType);
?
</script>
</body>
</html>
2016-10-21
這是一個瀏覽器的兼容問題。標準瀏覽器會把空白部分以及文本節點(比如<p></p>后面空白部分)也作為子節點之一;所以標準瀏覽器有7個子節點,如果用IE瀏覽器IE6-8則只會有3個子節點。
2016-11-07
為什么我谷歌瀏覽器顯示7個節點其中4個正是作為4個文本節點的4段文本?即
?javascript ?
? <p>javascript</p>
? <div>jQuery</div>
? <h5>PHP</h5>
這樣的話如果再加上空白節點的話豈不是11個節點了?
2016-10-24
樓上正解,在本節課已經寫出來了。
2.?節點之間的空白符,在firefox、chrome、opera、safari瀏覽器是文本節點,所以IE是3,其它瀏覽器是7。
如果你把里面換行都去掉,寫成一行。 <div>javascript<p>javascript</p><div>jQuery</div><h5>PHP</h5></div> 就會只有4個節點