ZBLOG

mutation.addedNodes 如何找出其所包含的节点

在使用 MutationObserver 监视DOM变化时,mutation.addedNodes 是一个 NodeList,包含所有新添加的节点。你可以通过遍历这个 NodeList 来访问每个新添加的节点,并进一步检查这些节点包含的子节点。

以下是一个示例代码,展示了如何找出 mutation.addedNodes 中每个节点所包含的子节点:

// 创建一个 MutationObserver 实例
const observer = new MutationObserver((mutations) => {
    mutations.forEach((mutation) => {
        // 检查是否有新增节点
        if (mutation.addedNodes.length > 0) {
            mutation.addedNodes.forEach((node) => {
                console.log('Added node:', node);
                
                // 如果该节点是元素节点,则获取其子节点
                if (node.nodeType === Node.ELEMENT_NODE) {
                    const childNodes = node.childNodes; // 获取所有子节点
                    
                    // 遍历并打印所有子节点
                    childNodes.forEach((childNode) => {
                        console.log('Child node:', childNode);
                    });
                }
            });
        }
    });
});

// 配置观察者:监视子树以及子树中子元素的变化
const config = { childList: true, subtree: true };

// 启动观察者,监视指定目标元素
const targetNode = document.getElementById('your-target-element-id'); // 替换为你的目标元素ID
observer.observe(targetNode, config);

在这个代码中:

  1. 创建了一个 MutationObserver 实例。
  2. 在回调函数中遍历 mutations,检查每个变更记录中的 addedNodes
  3. 对于每个添加的节点,如果它是一个元素类型(即 nodeType === Node.ELEMENT_NODE),则获取并遍历它的所有子节点(通过 childNodes)。
  4. 将新添加的节点及其所有子节点打印到控制台。

记得替换示例中的 your-target-element-id 为你想要观察的实际 DOM 元素 ID。


内容由零声教学AI助手提供,问题来源于学员提问

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=19394

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?