我尝试过搜索但没有找到答案:
所以我知道,当浏览器传递或下载页面时,会生成该页面的树结构表示形式(称为 DOM)。然后可以使用 JavaScript 来操作该树的节点(表示元素的对象)。
现在如果我打开 Chrome 的开发者控制台并执行命令:
document.childNodes;
Run Code Online (Sandbox Code Playgroud)
我得到了我所期望的,即两个节点,即 DOCTYPE 和 html 节点
[<!DOCTYPE html>, html]
Run Code Online (Sandbox Code Playgroud)
如果我现在将一个变量分配给 html,然后检查它的节点,如下所示:
var htmlNode = document.childNodes[1];
htmlNode.childNodes;
Run Code Online (Sandbox Code Playgroud)
奇怪的事情发生了:
我按预期得到“头”节点,然后有一个“文本”节点,我不知道它来自哪里,最后按预期得到“主体”节点。
[head, text, body]
Run Code Online (Sandbox Code Playgroud)
我的问题是这个“文本”节点来自哪里?