首页 > 解决方案 > 指定哪个元素在多个元素上触发了 MutationObserver

问题描述

在以下SO-post的帮助下,我知道可以使用单个对象跟踪多个元素MutationObserver。我想跟踪网站上两个元素的文本,所以我编写了以下脚本:

var seconds = document.getElementsByClassName('sr-lmt-0-ms-countdown__time srt-primary-7 srm-large')[2];
var minutes = document.getElementsByClassName('sr-lmt-0-ms-countdown__time srt-primary-7 srm-large')[3];


var callback = function(mutations) {
    for (var mutation of mutations) {
            // do something
            // console.log(mutation + (minutes or seconds));
        }
    };

var observer = new MutationObserver(callback);
var config = {characterData: true, subtree: true};

observer.observe(minutes, config);
observer.observe(seconds, config);

如何更改此脚本,以便控制台显示哪个变量触发了MutationObserver?

编辑

如果我检查mutation.target,我会看到以下内容:

在此处输入图像描述

我不知道是否secminutes触发了突变?我该如何区分?

标签: javascriptmutation-observers

解决方案


let observer = new MutationObserver(mutationRecords => {
  console.log(mutationRecords); // console.log(the changes)
});


推荐阅读