DEV Community

zain ul abdin
zain ul abdin

Posted on

Let's talk about MutationObserver

MutationObserver is a hidden gem in JavaScript that can make your web app super responsive.

It lets you watch for changes in the DOM—like when elements are added, removed, or modified—and react instantly. Perfect for dynamic UIs and real-time updates!

Here’s how it works:

const targetNode = document.getElementById('app'); // Element to observe

const observer = new MutationObserver((mutations) => {
  mutations.forEach(mutation => {
    if (mutation.type === 'childList') {
      console.log('A child node was added or removed.');
    }
  });
});

observer.observe(targetNode, { childList: true, subtree: true });

Enter fullscreen mode Exit fullscreen mode

With MutationObserver, you can create highly interactive components that respond to changes efficiently without relying on heavy frameworks.


To stay updated with more content related to web development and AI, feel free to follow me. Let's learn and grow together!

Top comments (1)

Collapse
 
lewiscowles1986 profile image
Lewis Cowles

Always guard usage, just-in-case:

    if ("MutationObserver" in window) {
        const observer = new MutationObserver((mutations) => {
            mutations.forEach(mutation => {
                if (mutation.type === 'childList') {
                    console.log('A child node was added or removed.');
                }
            });
        });

        observer.observe(targetNode, { childList: true, subtree: true });
    }
Enter fullscreen mode Exit fullscreen mode

MutationObserver is pretty widely supported, but without it, if you do have observability data. You may be surprised what a fraction of a % difference can mean.