// Select the node that will be observed for mutations const targetNode = document.getElementById('some-id');
// Options for the observer (which mutations to observe) const config = { attributes: true, childList: true, subtree: true };
// Callback function to execute when mutations are observed const callback = function(mutationsList, observer) { // Use traditional 'for loops' for IE 11 //如果需要调试的话,只需要在callback里面执行debugger就可以了 for(const mutation of mutationsList) { if (mutation.type === 'childList') { console.log('A child node has been added or removed.'); } else if (mutation.type === 'attributes') { console.log('The ' + mutation.attributeName + ' attribute was modified.'); } } };
// Create an observer instance linked to the callback function const observer = new MutationObserver(callback);
// Start observing the target node for configured mutations observer.observe(targetNode, config);
// Later, you can stop observing observer.disconnect();