如何在Javascript中监视UL元素上的元素更改

How to monitor element changes on a UL element in Javascript

本文关键字:元素 UL 监视 Javascript      更新时间:2023-09-26

我想监视UL元素的子元素(如添加或删除的li)的变化。UL用于在屏幕中显示选项卡,其中每个li将是一个单独的选项卡。当选项卡发生变化时,我无法控制修改选项卡脚本以调用脚本文件中自己的函数。

我必须主要为此支持IE浏览器,并且必须使用纯JavaScript。

IE11应支持MutationObserver

我所知道的唯一可能的方法就是这样。不过,我不能说这是一个很好的方法。

var onchange = function(element, callback) {
    var HTML = element.innerHTML;
    window.setInterval(function() {
        var newHTML = element.innerHTML;
        if(HTML !== newHTML) {
            HTML = newHTML;
            callback(element);
        }
    });
}

这将监视元素并检查innerHTML。如果它已经更改,它将调用回调函数。

演示:http://jsfiddle.net/qmB97/

用法:

onchange(HTMLElement, function() {
   alert('change');
});