- 每个 MutationRecord 都代表一个独立的 DOM 变化,在每次随 DOM 变化调用 MutationObserver 的回调函数时,一个相应的 MutationRecord 会被作为参数,传递给回调函数
- MutationRecord 对象有以下属性:
属性 |
类型 |
说明 |
type |
String |
如果是属性变化,则返回 "attributes"; 如果是 characterData节点变化,则返回 "characterData"; 如果是子节点树 childList变化,则返回 "childList"。 |
target |
Node |
根据 MutationRecord.type,返回变化所影响的节点。 对于属性 attributes变化,返回属性变化的节点。 对于 characterData变化,返回 characterData节点。 对于子节点树 childList变化,返回子节点变化的节点。 |
addedNodes |
NodeList |
返回被添加的节点。 如果没有节点被添加,则该属性将是一个空的 NodeList。 |
removedNodes |
NodeList |
返回被移除的节点。 如果没有节点被移除,则该属性将是一个空的 NodeList。 |
previousSibling |
Node |
返回被添加或移除的节点之前的兄弟节点,或者 null。 |
nextSibling |
Node |
返回被添加或移除的节点之后的兄弟节点,或者 null。 |
attributeName |
String |
返回被修改的属性的属性名,或者 null。 |
attributeNamespace |
String |
返回被修改属性的命名空间,或者 null。 |
oldValue |
String |
返回值取决于 MutationRecord.type。 对于属性 attributes变化,返回变化之前的属性值。 对于子节点树 childList变化,返回 null。 注 如果要让这个属性起作用,在相应的 MutationObserverInit参数的MutationObserverobserve方法中,attributeOldValue或者 characterDataOldValue必须设置为 true。 |
来自 <https://developer.mozilla.org/zh-CN/docs/Web/API/MutationRecord>