标题元素不允许嵌套
今天看到《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只能获取第一级子节点