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

怎么我显示的结果 把标签下面的文本也算进去了

怎么我的显示结果出乎意料,把标签下面的文本也算进去了 ,用谷歌浏览器打开也是这样的结果

7
第1个节点的属性类型是:3
第1个节点的属性 名是:#text
第1个节点的属性 值是:undefined

第2个节点的属性类型是:1
第2个节点的属性 名是:P
第2个节点的属性 值是:undefined

第3个节点的属性类型是:3
第3个节点的属性 名是:#text
第3个节点的属性 值是:undefined

第4个节点的属性类型是:1
第4个节点的属性 名是:DIV
第4个节点的属性 值是:undefined

第5个节点的属性类型是:3
第5个节点的属性 名是:#text
第5个节点的属性 值是:undefined

第6个节点的属性类型是:1
第6个节点的属性 名是:H5
第6个节点的属性 值是:undefined

第7个节点的属性类型是:3
第7个节点的属性 名是:#text
第7个节点的属性 值是:undefined



以下是我的代码

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

正在回答

1 回答

1. IE全系列、firefox、chrome、opera、safari兼容问题

2. 节点之间的空白符,在firefox、chrome、opera、safari浏览器是文本节点,所以IE是3,其它浏览器是7,如下图所示:

http://img1.sycdn.imooc.com//582dacec000163e303430127.jpg

如果把代码改成这样:

<ul><li>javascript</li><li>jQuery</li><li>PHP</li></ul>

运行结果:(IE和其它浏览器结果是一样的)

 UL子节点个数:3
 节点类型:1


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

举报

0/150
提交
取消

怎么我显示的结果 把标签下面的文本也算进去了

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