我正在使用MutationObserver
API,并希望将输入的MutationRecord
正确应用于我存储在其他地方的树的副本.让我困惑的是removedNodes
系列.当我的观察者被调用并且removedNodes
不为空时,这意味着Mutations 已经发生并且该 node 已从其"父childNodes
"中删除.因此,为了确定其在子列表before中的位置,发生的Mutations -以反映在我的树副本中-我可以判断MutationRecord
的previousSibling
和nextSibling
属性.
但如果removedNodes
包含多个元素怎么办?由于MutationRecord
只出现previousSibling
和nextSibling
,因此合乎逻辑的是认为删除的 node 曾经位于它们之间.但这真的发生了吗?
所以,要陈述一些单句问题:
- 可以安全地假设,如果MutationRecord的
removedNodes
包含多个 node ,那么在发生Mutations (删除)之前,该集合中列出的每个 node 都曾位于多姆树中MutationRecord的previousSibling
和nextSibling
之间吗? - 可以安全地假设,如果指定观察 node 的多个远距离(即不存在于相邻索引处的父 node 的
childNodes
集合中)子 node 被删除,这将导致多个MutationRecord
吗? - 如果1)成立,那么可以安全地假设数组中 node 的顺序与它们在其父 node
childNodes
中放置的顺序相同吗?
提前感谢.