首页 > 其他分享 >JS MutationObserver监听DOM元素改变

JS MutationObserver监听DOM元素改变

时间:2025-01-15 11:43:38浏览次数:1  
标签:console DOM 元素 JS MutationObserver div 添加 监听

JS MutationObserver监听DOM元素改变:

// 目标容器
const chatSection = document.querySelector('section.chat');

if (!chatSection) {
    console.error('未找到容器');
} else {
    // 解析详细数据的函数
    function parseChatData() {
        console.log('解析到的用户数据......');
    }
    // 创建 MutationObserver 监听 DOM 变化
    const observer = new MutationObserver((mutationsList) => {
        console.log('内容发生变化,开始解析数据...');
        parseChatData(); // 解析详细数据
    });

    // 配置 MutationObserver
    const observerConfig = {
        childList: true, // 监听子节点变化
        subtree: true // 监听所有后代节点
    };

    // 开始监听
    observer.observe(chatSection, observerConfig);
    console.log('已启动聊天内容监听');

    // 添加一个 div 元素来触发内容改变
    function addDivToChatSection() {
        const newDiv = document.createElement('div');
        newDiv.textContent = '这是一个新添加的 div 元素';
        newDiv.className = 'test-div'; // 添加类名(可选)
        chatSection.appendChild(newDiv); // 将 div 添加到聊天容器中
        console.log('已添加 div 元素');
    }

    // 测试:添加 div 元素
    addDivToChatSection();

  

标签:console,DOM,元素,JS,MutationObserver,div,添加,监听
From: https://www.cnblogs.com/wgscd/p/18672733

相关文章

  • vue.js actions和getters
    在Vue.js中,使用vuex状态管理库来管理全局状态。其中,actions和getters是vuex中的两个重要概念。actions用于处理异步操作,例如发送HTTP请求或者其他需要等待结果的操作。它可以包含任意异步操作,并且可以通过commit方法来触发mutations的方法来改变state,也可以通过dispatch方法来......
  • vue.js辅助函数-mapMutations
    在Vue.js中,使用辅助函数可以更方便地使用Vuex的mutation。而mapMutations就是Vuex提供的一个辅助函数,它可以将mutation映射到组件的methods中,使得我们可以在组件中直接调用mutation,而不需要手动进行commit。mapMutations函数接收一个字符串数组或对象作为参数,数组中的字符串即......
  • node.js毕设高校选课系统论文+程序
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容一、选题背景关于高校选课系统的研究,现有研究主要集中在系统的基本功能实现上,如选课流程、冲突检测等方面。专门针对高校选课系统中各参与主体(教师、学生、院系等)之......
  • node.js毕设高校学报在线投稿系统论文+程序
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容一、选题背景关于高校学报在线投稿系统的研究,现有研究多集中在学报编辑流程的局部优化方面,专门针对构建一个全面整合作者、稿件信息、在线投稿、稿件状态、专家、在......
  • js 调用 IIS部署的 WebAPI 相关配置
    1.跨域问题处理需要在web.config添加节点<system.webServer><httpProtocol><customHeaders><addname="Access-Control-Allow-Origin"value="*"/><addname="Access-Control-Allow-Headers"......
  • js延迟加载的方式有哪些?
    在前端开发中,JavaScript(JS)的延迟加载是一种优化策略,用于提高页面加载速度和用户体验。以下是JS延迟加载的几种主要方式:使用defer属性:在<script>标签中添加defer属性,可以使脚本在文档解析完毕后执行。这种方式适用于希望按顺序加载多个脚本文件,并且不阻塞页面渲染的情况。......
  • 在js中怎么捕获异常?写出来看看?应该在哪些场景下采用呢?
    在JavaScript中,可以使用try...catch...finally语句来捕获和处理异常。下面是一个简单的例子:try{//尝试执行的代码块leta=2;letb=a+c;//这里会抛出一个异常,因为c没有被定义}catch(error){//当try代码块中的代码抛出异常时,会执行这里的代码......
  • Vue.js组件开发-使用地图绘制轨迹
    在Vue.js中开发一个组件来展示地图并绘制轨迹,可以使用诸如Leaflet.js、MapboxGLJS或百度地图等地图库。这些库提供了丰富的API来创建和定制地图,以及绘制路径、标记和其他地图元素。示例:1.安装Leaflet.js首先,需要安装Leaflet.js库。可以通过npm或yarn来安装:npminstalll......
  • DOMjudge8.2.3配置DOMserver(基于Docker一键配置,全网最详细,看完包会配)
    文章目录前言配置方式1:手动配置nginx+php-fpm配置方式2:Docker一键安装1.部署MariaDB数据库2.部署DOMserver3.获取初始admin密码以及judgehost密码4.修改grub5.测试6.修改配置文件6.0前言(修改配置必看)6.1[configchecker]-MySQLsettings修改常见问题及对应解决......
  • node.js基于RFID技术的智能仓储系统设计与实现程序+论文 可用于毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容一、选题背景关于智能仓储系统的研究,现有研究多集中在传统仓储管理的自动化改进方面,如引入自动化设备来提高货物搬运效率等。专门针对基于RFID技术的智能仓储系统的......