且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

javascript - 关于DOM中Nodelist的问题

更新时间: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