The MutationObserverInit dictionary's optional subtree property can be set to true to monitor the targeted node and all of its descendants. The default value, false, indicates only the target node itself is to be monitored for changes.
subtree can be used in concert with the other options to extend monitoring of attributes, text content, and child lists to the entire subtree rooted at the target node.
Syntax
var options = {
subtree: true | false
}
Value
A Boolean value. The default, false, indicates that only the target node specified when calling MutationObserver.observe() is to be monitored for changes. Changing this value to true causes the entire subtree rooted at the specified target node to be monitored for the changes indicated by the other options.
For example, to watch the target node only for attribute changes, the MutationObserverInit passed into MutationObserver() can be:
var options = {
attributes: true,
subtree: false
};
Since the default value of subtree is false, line 3 is optional.
To monitor the entire subtree for attribute changes, simply set subtree to true:
var options = {
attributes: true,
subtree: true
};
Example
Specifications
| Specification | Status | Comment |
|---|---|---|
| DOM The definition of 'MutationObserverInit.subtree' in that specification. |
Living Standard |
Browser compatibility
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
subtree | Chrome
Full support
26
| Edge Full support 12 | Firefox Full support 14 | IE Full support 11 | Opera Full support 15 | Safari
Full support
7
| WebView Android ? | Chrome Android
Full support
26
| Firefox Android Full support 14 | Opera Android Full support 14 | Safari iOS
Full support
7
| Samsung Internet Android
Full support
1.5
|
Legend
- Full support
- Full support
- Compatibility unknown
- Compatibility unknown
- Requires a vendor prefix or different name for use.
- Requires a vendor prefix or different name for use.
