更新时间:2023-09-29 21:44:46
这两个文本节点就是</h1>
、</h2>
后面的空白符(换行符)。其实this is div
后面也有一个,但这个空白符和字符串合在一起算一个文本节点。既然是div.childNodes搞出来的,肯定都属于div了。
如果是IE来解析这段代码,div.childNodes只有三个,分别是
this is div
、<h1 id="h1">this is H1</h1>
、<h2>this is H2</h2>
;如果是其他浏览器,则会有5个子元素,换行或者元素之间有空格都会产生一个文本节点,也即是你所看到的情况。
你可以把换行符都删掉,写成这样,<div>this is div<h1 id="h1">this is H1</h1><h2>this is H2</h2></div>
,你就会看到只剩三个子元素了。
以上这些在《JS高程3》里都有描述,你去翻一翻看看,P269