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

9-8 :到底是几个子节点?

到底是几个子节点?用IE11、360、搜狗浏览器都试过,都说是7个子节点,为什么跟9-8节的注意部分说的不一样。请大神指点!

代码:

<!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 a = document.getElementsByTagName("div")[0].childNodes;
    document.write("DIV子节点的个数:"+a.length+"个"+"<br/>") ;
   
 for(var i=0;i<a.length;i++){
    document.write("<br/>"+"第"+(i+1)+"个子节点:"+"<br/>"+"子节点名称:"+a[i].nodeName+"<br/>");
    document.write("子节点值:"+a[i].nodeValue+"<br/>");
    document.write("子节点类型:"+a[i].nodeType+"<br/>");
}
 
 
</script>
</body>
</html>

—————————————————————————————————————————————

结果:

javascript

javascript

jQuery

PHP

DIV子节点的个数:7个

第1个子节点:
子节点名称:#text
子节点值:   javascript    
子节点类型:3

第2个子节点:
子节点名称:P
子节点值:null
子节点类型:1

第3个子节点:
子节点名称:#text
子节点值:  
子节点类型:3

第4个子节点:
子节点名称:DIV
子节点值:null
子节点类型:1

第5个子节点:
子节点名称:#text
子节点值:  
子节点类型:3

第6个子节点:
子节点名称:H5
子节点值:null
子节点类型:1

第7个子节点:
子节点名称:#text
子节点值:
子节点类型:3

正在回答

2 回答

你好。这个是因为有空格这样的文本节点的原因导致的。

比如你这

第7个子节点:
子节点名称:#text
子节点值: 
子节点类型:3

他就是一个空格。


你把整个div收缩下就行了。

写成我下面这样的格式。

<div>javascript<p>javascript</p><div>jQuery</div><h5>PHP</h5></div>

1 回复 有任何疑惑可以回复我~
#1

Smoke_Ring

为什么有空格就会识别成节点? 这样的识别是div下特有的,还是所有的标签都会有这种情况? 谢谢答疑
2015-07-05 回复 有任何疑惑可以回复我~
#2

品茗见南山 回复 Smoke_Ring

空格与其他字符一样啊,都是一个占位符,文本类型的。所以标签下都会有这个问题。 不是div下特有的。这种判断方式项目中基本上再也不会用到的。不用纠结。
2015-07-06 回复 有任何疑惑可以回复我~
#3

Smoke_Ring 回复 品茗见南山

嗯,理解了,谢谢!
2015-07-06 回复 有任何疑惑可以回复我~

你用IE8、9试试看看,应该是3个节点

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

举报

0/150
提交
取消

9-8 :到底是几个子节点?

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