说不清的 childNodes,说不清的 childNodes
【 tulaoshi.com - Javascript 】
以下内容在IE浏览器下测试:
firstChild 获取对象的 childNodes 集合的第一个子对象的引用。
<div onclick="alert(this.firstChild.tagName)"
<spanspan-cnbruce</span
<prepre-cnbruce</pre
</div
lastChild 获取该对象 childNodes 集合中最后一个子对象的引用。
<div onclick="alert(this.lastChild.tagName)"
<spanspan-cnbruce</span
<prepre-cnbruce</pre
</div
在<div标签内再加一行lastChild就找不到了
<div onclick="alert(this.lastChild.tagName)"
<spanspan-cnbruce</span
<prepre-cnbruce</pre
<fontfont-james</font
</div
那么用childNodes来测试
<div onclick="alert(this.childNodes[0].tagName)"
<spanspan-cnbruce</span
<prepre-cnbruce</pre
<fontfont-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)"
<spanspan-cnbruce</span
<prepre-cnbruce</pre
<fontfont-james</font
</div
再来一行,childNodes[4]表示的又即是换行,childNodes[5]才是标签p
<div onclick="alert(this.childNodes[5].tagName)"
<spanspan-cnbruce</span
<prepre-cnbruce</pre
<fontfont-james</font
<pp-jack</p
</div
根据这个规律,我可以断定childNodes[6]不是换行
<div onclick="alert(this.childNodes[6].tagName)"
<spanspan-cnbruce</span
<prepre-cnbruce</pre
<fontfont-james</font
<pp-jack</p
<aa-href</a
</div
那么对于对象的换行来说,首项是1,公差是3的等差数列?
此外,对于FF浏览器的测试结果表示满意:
childNodes[1]、childNodes[3]、childNodes[5]、childNodes[7]分别表示<span <pre <font <p
来源:http://www.tulaoshi.com/n/20160129/1482247.html
看过《说不清的 childNodes》的人还看了以下文章 更多>>