MutationRecord - 单个 DOM 的突变信息

MutationRecord 代表单个 DOM 的突变。它是传递给 MutationObserver 的回调的对象。

属性

MutationRecord.type

一个 String,如果该突变是属性突变,则返回 "attributes";如果是 CharacterData 节点的突变,则返回 "characterData";如果是节点树的突变,则返回 "childList"

MutationRecord.target

一个 Node,将根据 MutationRecord.type 返回受影响突变的节点。

对于 attributes,它是其属性已更改的元素。

对于 characterData,它是 CharacterData 节点。

对于 childList,它是其子级已更改的节点。

MutationRecord.addedNodes

一个 NodeList,返回添加的节点。如果未添加任何节点,则将为空的 NodeList}。

MutationRecord.removedNodes

一个 NodeList,返回已删除的节点。如果未删除任何节点,则将为空的 NodeList}。

MutationRecord.previousSibling

一个 Node,返回添加或删除的节点的上一个兄弟节点,或者为 null

MutationRecord.nextSibling

一个 Node,返回添加或删除的节点的下一个兄弟节点,或者为 null

MutationRecord.attributeName

一个 String,返回已更改属性的本地名称,或为 null

MutationRecord.attributeNamespace

一个 String,返回已更改属性的名称空间,或为 null

MutationRecord.oldValue

一个 String,返回值取决于 MutationRecord.type}。

对于 attributes,它是更改前更改的属性的值。

对于 characterData,它是更改前更改的节点的数据。

对于 childList ,它是 null

请注意,为使此方法按预期工作,必须在 MutationObserver observe 方法的 MutationObserverInit 参数中将 attributeOldValuecharacterDataOldValue 设置为 true

规范

规范 状态 备注
DOM
MutationRecord 的定义
现行的标准 -

桌面浏览器兼容性

特性ChromeEdgeFirefoxInternet ExplorerOperaSafari
基础支持 支持12 支持 未知 支持 支持
addedNodes 支持12 支持 未知 支持 支持
attributeName 支持≤18 支持 未知 支持 支持
attributeNamespace 支持≤18 支持 未知 支持 支持
nextSibling 支持≤18 支持 未知 支持 支持
oldValue 支持≤18 支持 未知 支持 支持
previousSibling 支持12 支持 未知 支持 支持
removedNodes 支持12 支持 未知 支持 支持
target 支持12 支持 未知 支持 支持
type 支持12 支持 未知 支持 支持

移动浏览器兼容性

特性AndroidChrome for AndroidEdge mobileFirefox for AndroidIE mobileOpera AndroidiOS Safari
基础支持 支持 支持 未知 支持 未知 支持 支持
addedNodes 支持 支持 未知 支持 未知 支持 支持
attributeName 支持 支持 未知 支持 未知 支持 支持
attributeNamespace 支持 支持 未知 支持 未知 支持 支持
nextSibling 支持 支持 未知 支持 未知 支持 支持
oldValue 支持 支持 未知 支持 未知 支持 支持
previousSibling 支持 支持 未知 支持 未知 支持 支持
removedNodes 支持 支持 未知 支持 未知 支持 支持
target 支持 支持 未知 支持 未知 支持 支持
type 支持 支持 未知 支持 未知 支持 支持