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.


var options = {
  subtree: true | false


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



Specification Status Comment
The definition of 'MutationObserverInit.subtree' in that specification.
Living Standard  

Browser compatibility

No compatibility data found. Please contribute data for "api.MutationObserverInit.subtree" (depth: 1) to the MDN compatibility data repository.

Document Tags and Contributors

Contributors to this page: Sheppy
Last updated by: Sheppy,