为了账号安全,请及时绑定邮箱和手机立即绑定

我的打印出来为什么有7个子节点?

代码:

<!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)+"个子节点的类型:"+div_child[i].nodeType+"<br>");

}

</script>

</body>

</html>

结果:

第1个子节点的类型:3
第2个子节点的类型:1
第3个子节点的类型:3
第4个子节点的类型:1
第5个子节点的类型:3
第6个子节点的类型:1
第7个子节点的类型:3

正在回答

2 回答

在<div>与第一个标签之间的内容算是第一个节点(包括空白和文本),所以<div>之后的所有空白和JavaScript以及之后的回车空白都算一个节点。即

<div>之后一个“空白+JavaScript+空白”一个节点。

接着<p>javascript</p>一个节点,然后空白节点。

<div>jQuery</div>一个元素节点,然后空白节点。 

<h5>PHP</h5>一个元素节点,然后空白节点。

总共7个。

*若把第一个文本内容JavaScript改成<p>JavaScript</p>则一共会有9个节点。即

<div>之后一个空白节点,

<p>JavaScript</p>一个元素节点,后面一个空白节点。

接着<p>javascript</p>一个节点,然后空白节点。

<div>jQuery</div>一个元素节点,然后空白节点。 

<h5>PHP</h5>一个元素节点,然后空白节点。

总共9个。


7 回复 有任何疑惑可以回复我~

<div>

  javascript  这是第1个节点nodeType为3是#text类型

  <p>javascript</p> <p>javascript</p>这是第2个节点nodeType为1是元素类型

 <p>和<div>两个标签之间虽然是空文本 但也算一个子节点 因为这里也可以插入文本 这是第3个节点nodeType为3是元素类型 ,  在下面的<div>和<h5>之间也有一个空文本子节点  ,<h5>和</div> 之间也有

  <div>jQuery</div>

  <h5>PHP</h5>

</div>


2 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

我的打印出来为什么有7个子节点?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信