服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > JAVA > 新手入门 > 基础入门 > 查看文档

说不清的 childnodes

以下内容在ie浏览器下测试:

firstchild 获取对象的 childnodes 集合的第一个子对象的引用。

<div onclick="alert(this.firstchild.tagname)">
<span>span-cnbruce</span>
<pre>pre-cnbruce</pre>
</div>


lastchild 获取该对象 childnodes 集合中最后一个子对象的引用。

<div onclick="alert(this.lastchild.tagname)">
<span>span-cnbruce</span>
<pre>pre-cnbruce</pre>
</div>

在<div>标签内再加一行lastchild就找不到了

<div onclick="alert(this.lastchild.tagname)">
<span>span-cnbruce</span>
<pre>pre-cnbruce</pre>
<font>font-james</font>
</div>

那么用childnodes来测试

<div onclick="alert(this.childnodes[0].tagname)">
<span>span-cnbruce</span>
<pre>pre-cnbruce</pre>
<font>font-james</font>
</div>

childnodes[0]是表示span,而childnodes[1]表示的并非pre,childnodes[2]才是。

那么如果说childnodes[0]是span,childnodes[2]是pre,那么childnodes[1]则是这两个标签对象间的换行

但为什么childnodes[3]表示了font,而不是childnodes[4]的呢?

<div onclick="alert(this.childnodes[3].tagname)">
<span>span-cnbruce</span>
<pre>pre-cnbruce</pre>
<font>font-james</font>
</div>
再来一行,childnodes[4]表示的又即是换行,childnodes[5]才是标签p

<div onclick="alert(this.childnodes[5].tagname)">
<span>span-cnbruce</span>
<pre>pre-cnbruce</pre>
<font>font-james</font>
<p>p-jack</p>
</div>
根据这个规律,我可以断定childnodes[6]不是换行

<div onclick="alert(this.childnodes[6].tagname)">
<span>span-cnbruce</span>
<pre>pre-cnbruce</pre>
<font>font-james</font>
<p>p-jack</p>
<a>a-href</a>
</div>
那么对于对象的换行来说,首项是1,公差是3的等差数列?

此外,对于ff浏览器的测试结果表示满意:
childnodes[1]、childnodes[3]、childnodes[5]、childnodes[7]分别表示<span> <pre> <font> <p>

扫描关注微信公众号