請問各位大神:為什么下面這段代碼中的第一個<div>會有7個子節點呢?不應該是“文本:javascript”、“元素p”、“元素div”、“元素h5”這4個子節點嗎?
<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 node=document.getElementsByTagName("div")[0].childNodes;
var huoqu=document.getElementsByTagName("div")[0].childNodes;
?for (var i=0;i<huoqu.length;i++)
? ? ?{document.write("第"+(i+1)+"個子節點的名稱:"+huoqu[i].nodeName+"<br/>");
? ? ? document.write("第"+(i+1)+"個子節點的值:"+huoqu[i].nodeValue+"<br/>");
? ? ? document.write("第"+(i+1)+"個子節點的類型:"+huoqu[i].nodeType+"<br/><br/><br/>");
? ? ?}
</script>
</body>
</html>
2017-04-03
看你用的什么瀏覽器。childNode 在 ie 和 firefox 中有著不同的處理方式,ie 只會把 html 標簽算作孩子結點,而 firefox 除了把 html 標簽算作孩子結點外,還會把“文字、空格、換行符和制表”算作孩子結點,三個元素標簽,加四個換行,剛好七個
2022-03-25
沒有啊,我這頭試了一下,是跳到8-3了啊。。。怎么回事呢,你用的是什么瀏覽器?講得真好,之前我就是原生態來寫企業站,雖然簡化很多工作,但是每次要修改的時候得修改很多東西,看了這個我覺得我有必要去改下我的代碼了。
2017-06-25
<div
? javascript?
? <p>javascript</p>
? <div>jQuery</div>
? <h5>PHP</h5>
</div>
<script type="text/javascript">
?var node = document.getElementsByTagName("div")[0].childNodes;
?document.write("Number of nodes:"+ node.length + "<br/>")
?for(var i = 0; i < node.length; i++){
? ? ?document.write("Node type:"+ node[i].nodeType + "<br/>")
? ? ?document.write("Node type:"+ node[i].nodeValue + "<br/>")
?}