标题元素不允许嵌套

  今天看到《Dom Scripting》书上说childNodes可以获取所有子节点,顿时产生疑惑,childNodes不是只能获取一级子节点吗,不能获取子节点的子节点。带着疑问随手做了个实验,原本偷懒,用DW的快捷键Ctrl+num生成如下结构:

  

1 <h1 id="h"><h2><h3><h4><h5><h6></h6></h5></h4></h3></h2></h1>

然后js她:

   

1 var h = document.getElementById("h");
2 alert(h.childNodes.length);

 

期望显示1,结果chrom,firefox显示0,IE6,7显示1。更疑惑了,怎么是0,查看DOM,结果大吃一惊:

 

<h1 id="h"></h1>
<h2></h2>
<h3></h3>
<h4></h4>
<h5></h5>
<h6></h6>

难怪是0呢,chrome,firefox下都成这样了,IE还是老样子。

 

最后换了个结构:

   

1 <ul id="ul">
2 <li><a href="#"></a></li>
3 <li><a href="#"></a></li>
4 <li><a href="#"></a></li>
5 <li><a href="#"></a></li>
6 <li><a href="#"></a></li>
7 <li><a href="#"></a></li>
8 <li><a href="#"></a></li>
9 </ul>

 

js她的结果为:

   15(chrome,ff),因为算whitepace

   7(IE6,7),不算whitspace

 

不过结果是正确的,childNodes只能获取第一级子节点

posted @ 2012-03-09 18:07  老西  阅读(163)  评论(0编辑  收藏  举报