我在一个非常古老的评论中从@Bergi 阅读了这个声明,讨论了一个nextSibling
值:
x.nextSibling 可能不是跨度,而是 img 和跨度元素之间的换行文本节点
@Bergi 所指的示例是一些脚本,用于在相当简单的 HTML 中选择第一个元素,然后找到nextSibling
:
<img src="something">
<span>
浏览器是否在元素节点之间的 DOM 中插入“换行文本节点”?我真正想了解的是在关于使用 ProseMirror 将文档模型序列化为 HTML 的较早讨论中的这条评论:
HTML 几乎总是可以用来完全表示文档 DOM。我们遇到了一个例外:兄弟文本节点。在使用 ProseMirror 之前,我们发现拥有兄弟文本节点很重要,因此我们将 HTML 序列化为 JSON 以存储在数据库中。出于兼容性原因,我们现在仍然这样做,但鉴于我们不再需要兄弟文本节点,这可能会在我们的文件格式的下一个版本中消失。
该线程中的其余讨论内容繁多,与此问题无关,因此我没有将其链接。我认为这位作者之所以说 HTML 不能在兄弟文本节点的情况下镜像 DOM 是因为换行节点会自动插入到 DOM 中(而不是在 HTML 中表示)。这是准确的吗?