我的打印出來為什么有7個(gè)子節(jié)點(diǎn)?
代碼:
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>ChildNodes</title>
</head>
<body>
<div>
? javascript ?
? <p>javascript</p>
? <div>jQuery</div>
? <h5>PHP</h5>
</div>
<script type="text/javascript">
?var div_child=document.getElementsByTagName("div")[0].childNodes;
?for(var i=0;i<div_child.length;i++){
document.write("第"+(i+1)+"個(gè)子節(jié)點(diǎn)的類型:"+div_child[i].nodeType+"<br>");
}
</script>
</body>
</html>
結(jié)果:
第1個(gè)子節(jié)點(diǎn)的類型:3
第2個(gè)子節(jié)點(diǎn)的類型:1
第3個(gè)子節(jié)點(diǎn)的類型:3
第4個(gè)子節(jié)點(diǎn)的類型:1
第5個(gè)子節(jié)點(diǎn)的類型:3
第6個(gè)子節(jié)點(diǎn)的類型:1
第7個(gè)子節(jié)點(diǎn)的類型:3
2016-05-11
在<div>與第一個(gè)標(biāo)簽之間的內(nèi)容算是第一個(gè)節(jié)點(diǎn)(包括空白和文本),所以<div>之后的所有空白和JavaScript以及之后的回車空白都算一個(gè)節(jié)點(diǎn)。即
<div>之后一個(gè)“空白+JavaScript+空白”一個(gè)節(jié)點(diǎn)。
接著<p>javascript</p>一個(gè)節(jié)點(diǎn),然后空白節(jié)點(diǎn)。
<div>jQuery</div>一個(gè)元素節(jié)點(diǎn),然后空白節(jié)點(diǎn)。?
<h5>PHP</h5>一個(gè)元素節(jié)點(diǎn),然后空白節(jié)點(diǎn)。
總共7個(gè)。
*若把第一個(gè)文本內(nèi)容JavaScript改成<p>JavaScript</p>則一共會(huì)有9個(gè)節(jié)點(diǎn)。即
<div>之后一個(gè)空白節(jié)點(diǎn),
<p>JavaScript</p>一個(gè)元素節(jié)點(diǎn),后面一個(gè)空白節(jié)點(diǎn)。
接著<p>javascript</p>一個(gè)節(jié)點(diǎn),然后空白節(jié)點(diǎn)。
<div>jQuery</div>一個(gè)元素節(jié)點(diǎn),然后空白節(jié)點(diǎn)。?
<h5>PHP</h5>一個(gè)元素節(jié)點(diǎn),然后空白節(jié)點(diǎn)。
總共9個(gè)。
2016-05-07
<div>
? javascript ?這是第1個(gè)節(jié)點(diǎn)nodeType為3是#text類型
? <p>javascript</p>?<p>javascript</p>這是第2個(gè)節(jié)點(diǎn)nodeType為1是元素類型
?<p>和<div>兩個(gè)標(biāo)簽之間雖然是空文本 但也算一個(gè)子節(jié)點(diǎn) 因?yàn)檫@里也可以插入文本 這是第3個(gè)節(jié)點(diǎn)nodeType為3是元素類型 , ?在下面的<div>和<h5>之間也有一個(gè)空文本子節(jié)點(diǎn) ?,<h5>和</div> 之間也有
? <div>jQuery</div>
? <h5>PHP</h5>
</div>