JS使用MutationObserver接口来监听DOM的更新

在JavaScript中,可以使用MutationObserver接口来监听DOM的更新。以下是一个使用MutationObserver的示例代码,它监听一个DOM节点的变化,并在变化发生时输出信息

// 选择目标节点
const targetNode = document.getElementById('some-id');
 
// 创建一个观察者对象
const observer = new MutationObserver(function(mutationsList, observer) {
    // 使用mutationsList变化记录进行操作
    for(let mutation of mutationsList) {
        if (mutation.type === 'childList' || mutation.type === 'attributes') {
            console.log('DOM has been updated!');
        }
    }
});
 
// 观察者的配置(观察目标节点的子节点变化和属性变化)
const config = { attributes: true, childList: true, subtree: true };
 
// 传入目标节点和观察选项并开始观察
observer.observe(targetNode, config);
 
// 以后,你可以停止观察
// observer.disconnect();

在这个例子中,当#some-id元素的子元素发生变化,或者该元素的属性发生变化时,MutationObserver会被触发,并在控制台输出"DOM has been updated!"。如果你需要停止监听,可以调用observer.disconnect()方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值