当前位置: 首页 > 图文教程 > 网络编程 > Javascript > 说不清的 childNodes

Javascript
javascript实现的动态添加表单元素input,button等(appendChild)
javascript动态添加单元格的脚本代码
[原创]仿google adsense颜色选择器代码,从中易广告联盟程序提取
asp javascript 实现关闭窗口时保存数据的办法
javascript 下拉框显示当前日期
惊云JS随机排序程序随机显示信息-每次新闻显示顺序都不一样
javascript下有关dom以及xml节点访问兼容问题
js 复制功能 支持 for IE/FireFox/mozilla/ns
css图片自适应大小
比较简单的一个符合web标准的JS调用flash方法
javascript数组组合成字符串的脚本
XRegExp 0.2: Now With Named Capture
jQuery 研究心得 取得属性的值
防止网站内容被拷贝的一些方法与优缺点好处与坏处分析
Prototype1.6 JS 官方下载地址
jquery 指南/入门基础
jquery api参考 visualjquery 中国线路 速度快
js控制fieldset高度的代码
document.documentElement && document.documentElement.scrollTop
js同时按下两个方向键

Javascript 中的 说不清的 childNodes


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-04   浏览: 540 ::
收藏到网摘: n/a

以下内容在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>