MutationObserverInit dictionary's optional 属性 property is used to specify whether or not to watch for attribute value changes on the node or nodes being observed.

句法

var options = {
  attributes: true | false
}
					

A Boolean value indicating whether or not to report through the callback any changes to the values of attributes on the node or nodes being monitored. The default value is false .

true , the callback specified when observe() was used to start observing the node or subtree will be called any time one or more attributes have changed on observed nodes.

You can expand the capabilities of attribute mutation monitoring using other options:

  • attributeFilter lets you specify specific attribute names to monitor instead of monitoring all attributes.
  • attributeOldValue lets you specify whether or not you want the previous value of changed attributes to be included in the MutationRecord 's oldValue 特性。
  • subtree lets you specify whether to watch the target node and all of its descendants ( true ), or just the target node ( false ).

If you set either attributeFilter or attributeOldValue to true , 属性 is automatically assumed to be true , even if you don't expressly set it as such.

范例

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.attributes' 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
属性 Chrome 26
26
18 — 26 Prefixed
Prefixed Implemented with the vendor prefix: webkit
Edge 12 Firefox 14 注意事项
14 注意事项
Starting in Firefox 36, 属性 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, 属性 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