MutationObserverInit dictionary's optional attributeOldValue property is used to specify whether or not to record the prior value of the altered attribute in MutationRecord objects denoting attribute value changes.

句法

var options = {
  attributeOldValue: true | false
}
					

A Boolean value indicating whether or not the prior value of a changed attribute should be included in the MutationObserver.oldValue property when reporting attribute value changes. If true , oldValue is set accordingly. If false , it is not.

当使用 attributeOldValue , setting the 属性 选项到 true is optional.

范例

In this example, a Mutation Observer is set up to watch for changes to the status and username attributes in any elements contained within a subtree that displays the names of users in a chat room. This lets the code, for example, reflect changes to users' nicknames, or to mark them as away from keyboard (AFK) or offline.

function callback(mutationList) {
  mutationList.forEach(function(mutation) {
    switch(mutation.type) {
      case "attributes":
        notifyUser("Attribute name " + mutation.attributeName +
            " changed to " + mutation.target[mutation.attributeName] +
            " (was " + mutation.oldValue + ")");
        break;
    }
  });
}
var targetNode = document.querySelector("#target");
var observer = new MutationObserver(callback);
observer.observe(targetNode, {
  attributes: true,
  attributeOldValue: true
});
					

callback() function—which will be passed into the observe() method when starting the observer, looks at each item in the list of MutationRecord objects. For any items representing an attribute change (which can be detected by the value of MutationRecord.type being "attributes" ), a function called notifyUser() is used to tell the user the name of the attribute that changed as well as the attribute's new value ( mutation.target[mutation.attributeName] ) and its old value ( mutation.oldValue ).

observe() is called, the specified options are 属性 and attributeOldValue , which means that changes to attribute values will be reported, and each mutation record will include the oldValue property specifying the attribute's previous value.

规范

规范 状态 注释
DOM
The definition of 'MutationObserverInit.attributeOldValue' in that specification.
实时标准

浏览器兼容性

The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request. 更新 GitHub 上的兼容性数据
桌面 移动
Chrome Edge Firefox Internet Explorer Opera Safari Android webview Chrome for Android Firefox for Android Opera for Android Safari on iOS Samsung Internet
attributeOldValue Chrome 26
26
18 — 26 Prefixed
Prefixed Implemented with the vendor prefix: webkit
Edge 12 Firefox 14 注意事项
14 注意事项
Starting in Firefox 36, attributeOldValue has no default value; previously, its default value was false .
IE 11 Opera 15 Safari 7
7
6 — 7 Prefixed
Prefixed Implemented with the vendor prefix: webkit
WebView Android ? Chrome Android 26
26
18 — 26 Prefixed
Prefixed Implemented with the vendor prefix: webkit
Firefox Android 14 注意事项
14 注意事项
Starting in Firefox 36, attributeOldValue has no default value; previously, its default value was false .
Opera Android 14 Safari iOS 7
7
6 — 7 Prefixed
Prefixed Implemented with the vendor prefix: webkit
Samsung Internet Android 1.5
1.5
1.0 — 1.5 Prefixed
Prefixed Implemented with the vendor prefix: webkit

图例

完整支持

完整支持

兼容性未知 ?

兼容性未知

见实现注意事项。

要求使用供应商前缀或不同名称。

要求使用供应商前缀或不同名称。

元数据

  • 最后修改:
  1. MutationObserverInit
  2. 特性
    1. attributeFilter
    2. attributeOldValue
    3. 属性
    4. characterData

版权所有  © 2014-2026 乐数软件    

工业和信息化部: 粤ICP备14079481号-1