DOM API 如何影响 HTML 解析?

How does DOM API affect HTML parsing?

在阅读 DOM 树是如何创建的过程中 HTML5 spec: 8.2.1 Overview of the parsing model,我想到了一个问题,但我找不到答案。

根据规范,使用 document.write 是错误的,除了其他问题外,它会暂停解析并将新字符提供到分词器输入中。

问题是当使用 DOM API 时它看起来像什么,例如。 appendChild。什么时候执行?

据我了解,这将添加已经创建的 Node,因此不需要解析和标记化。但是,新节点是立即附加还是在构建 "first/original" DOM 树后附加?

它会立即发生,无论 DOM 处于当时的任何状态。 DOM 文档总是形成一棵一致的树,所以它总是可以安全地添加到。

附加元素在这方面一直是相当无害的,但在解析过程中从 DOM 文档中删除元素曾经是使旧版 IE 崩溃的好方法。事实上,这个问题在某种程度上一直存在,直到 IE 在 IE10 中实现了 HTML5 解析算法。