如何检测 jquery 中的文档何时添加了新元素?

2024-01-11

如何检测 jquery 中的文档何时添加了新元素?

解释: 我想知道何时将具有“column-header”类的元素添加到文档中。因为我计划在这些元素上运行一些 javascript。

我怎样才能做到这一点 ?我使用 jQuery javascript 库。


接受的答案使用了 2011 年过时的插件,最高支持的答案使用了 Mutation 事件,这些事件现在已已弃用 https://developer.mozilla.org/en-US/docs/Web/Guide/Events/Mutation_events.

今天,一个变异观察者 https://developer.mozilla.org/en-US/docs/Web/API/MutationObserver是您应该用来检测元素何时添加到 DOM 的方法。MutationObservers 现在在所有现代浏览器(Chrome 26+、Firefox 14+、IE11、Edge、Opera 15+ 等)中得到广泛支持。

这是一个简单的示例,说明如何使用MutationObserver侦听何时将元素添加到 DOM。

为简洁起见,我使用 jQuery 语法来构建节点并将其插入到 DOM 中。

var myElement = $("<div>hello world</div>")[0];

var observer = new MutationObserver(function(mutations) {
   if (document.contains(myElement)) {
        console.log("It's in the DOM!");
        observer.disconnect();
    }
});

observer.observe(document, {attributes: false, childList: true, characterData: false, subtree:true});

$("body").append(myElement); // console.log: It's in the DOM!

The observer每当添加或删除任何节点时,事件处理程序都会触发document。在处理程序内部,我们执行contains检查以确定是否myElement现在在document.

您不需要迭代存储在的每个 MutationRecordmutations因为你可以执行document.contains直接检查myElement.

要提高性能,请替换document与将包含的特定元素myElement在 DOM 中。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何检测 jquery 中的文档何时添加了新元素? 的相关文章

  • Iframe 相对路径挑战

    我有一个页面 在页面内有一个 Iframe 目录如下 Folder1 Folder2 IframeCSS IframeCSS Css iframePage1 html stuff css parentPage1 html 在 iframeP
  • 通过 CDN 使用 Dojo 时如何加载自定义 AMD 模块?

    我正在使用 google 的 CDN 并尝试使用他们的加载程序加载我自己的 AMD 模块 我知道我做错了什么 但我被困住了 有任何想法吗
  • Grails 在 javascript 内的 GSP 站点中使用 grails var

    我有一个在 GSP 文件中的 javascript 代码中使用 grails 变量值的问题 例如 我有一个会话值session getAttribute selectedValue 我想在 javascript 代码部分使用这个值 我现在的
  • Electron - 为什么在关闭事件时将 BrowserWindow 实例设置为 null

    The 电子文档 https electronjs org docs api browser window 提供以下代码示例来创建新窗口 const BrowserWindow require electron let win new Br
  • 如何判断 jquery 对话框是否打开? [复制]

    这个问题在这里已经有答案了 寻找通用案例解决方案来确定当前是否打开任何 jquery 对话框 有多个 试过 ui dialog content dialog isOpen true ui dialog dialog isOpen true
  • jQuery 获取元素内的鼠标位置

    我希望制作一个控件 用户可以在 div 内单击 然后拖动鼠标 然后松开鼠标以指示他们想要的内容有多长 这是针对日历控件的 因此用户将指示特定事件的时间长度 看起来最好的方法是在父 div 上注册一个 mousedown 事件 而父 div
  • 为 illustrator 导出脚本以保存为 web jpg

    任何人都可以帮我为 illustrator CC2017 编写一个脚本 将文件以 JPG 格式导出到网络 旧版 然后保存文件并关闭 我有 700 个文件 每个文件有 2 个画板 单击 文件 gt 导出 gt 另存为 Web 旧版 然后右键文
  • 避免响应式页面的重复内容

    我目前正在做一个涉及响应式设计的项目 整个布局应该使用HTML和CSS来实现 我知道可以使用 java 脚本将内容从一个列布局移动到另一列布局 而无需复制内容 但是使用 HTML 和 CSS 是否可以实现相同的效果 以下面的例子为例 它会在
  • 我可以使用 jQuery 打开下拉列表吗

    对于 HTML 中的下拉列表
  • FireFox 中的自动滚动

    我的应用程序是实时聊天 我有一个 Div 来包装消息 每条消息都是一个 div 所以 在几条消息之后 我的 DOM 看起来像这样 div div Message number two div div div div
  • 如何在类似控制台的环境中运行 JavaScript?

    我正在尝试遵循这里的示例 http eloquentjavascript net chapter2 html http eloquentjavascript net chapter2 html and print blah 在浏览器中运行时
  • 指针事件:无,过滤,适用于 ie8 和任何地方,不适用于 ie9

    正如我在这里看到的 https stackoverflow com questions 3680429 click through a div to underlying elements 4839672 4839672 过滤器可用于模拟跨
  • 条件在反应本机生产中失败,但在开发中有效

    我创建了一个反应本机应用程序 我需要通过它进行比较 如果属实 就会执行死刑 问题是 该条件适用于 React Native 开发模式 而不适用于 React Native 生产版本 我使用 firebase 作为数据库 也使用 redux
  • Safari 支持 JavaScript window.onerror 吗?

    我有一个附加到 window onerror 的函数 window onerror function errorMsg url line window alert asdf 这在 firefox chrome 和 IE 中工作正常 但在 s
  • 更改文本输入标签中文本的大小?

    我有一个很大的文本输入框 但我无法更改字体大小
  • 在 React.js 中编辑丰富的数据结构

    我正在尝试为数据结构创建一个简单的基于网格的编辑器 但我在使用 React js 时遇到了一些概念问题 他们的文档对此没有太大帮助 所以我希望这里有人可以提供帮助 首先 将状态从外部组件传输到内部组件的正确方法是什么 是否有可能将内部组件中
  • 导致回发到与弹出窗口不同的页面

    我有一个主页和一个详细信息页面 详细信息页面是从主页调用的 JavaScript 弹出窗口 当单击详细信息页面上的 保存 按钮时 我希望主页 刷新 是否有一种方法可以调用主页的回发 同时还可以从详细信息页面维护保存回发 Edit 使用win
  • jQuery 对象相等

    如何确定两个 jQuery 对象是否相等 我希望能够在数组中搜索特定的 jQuery 对象 inArray jqobj my array 1 alert deviceTypeRoot deviceTypeRoot False alert d
  • Spring Rest 和 Jsonp

    我正在尝试让我的 Spring Rest 控制器返回jsonp但我没有快乐 如果我想返回 json 但我有返回的要求 完全相同的代码可以正常工作jsonp我添加了一个转换器 我在网上找到了用于执行 jsonp 转换的源代码 我正在使用 Sp
  • FireFox 中的“contenteditable = true”高度问题

    当有空的时候div with contenteditable true CSS contenteditable true border 1px dashed dedede padding 3px HTML div div 在 IE 和 Ch

随机推荐

  • 如何在 Django 模板中使用域 get_absolute_url ?

    所以我有点挣扎 一些逻辑上看起来很简单的东西 但由于我对 Django 的理解有限 我不确定在哪里寻找以及如何制定解决方案 基本上我设置了一个博客应用程序 它在主页上显示完整的 所有内容 包括 disqus 讨论 最新帖子 该帖子还有一个指
  • 检测objective-c中for()循环的真正结束

    我将在我的应用程序中显示一种 UIActivityIndi catorView 同时在 for 循环内解析多个 JSON 对象 我不知道必须在哪里放置 UIActivityIndi catorView startAnimating 和 UI
  • keyof T 的默认类型不能用于索引类型 T

    我正在尝试重构此代码以使用静态方法 因为该类仅用于命名空间和Query equal
  • 检查包含任意顺序的 3 个连续字母和 2 个数字的字符串

    我似乎无法理解这个问题 我想我应该在这里寻求一些帮助 基本上我正在验证密码字段 要求如下 必须包含3个连续字母 必须包含至少 2 位数字 可以是任何顺序 例如 1abc342 abc24g3 11abcsjf 这是我到目前为止所拥有的 但我
  • WebSphere MQ 确认和回复队列

    我们通过远程队列定义 CLIENT DATA 传输队列 发送 接收通道等 从队列管理器 QM MINE 队列管理器 QM CLIENT 和队列 CLIENT DATA 发送 XML 文本消息 消息到达目的地 客户端的 CLIENT DATA
  • 通过比较另一个图像的强度来更改图像的强度 - OpenTK

    我有两个图像 我必须找到第一张图像中强度大于 0 8 的点 同时 我必须找到第二张图像在相同点上的强度 并且需要使用阈值 滑块值 范围从 0 到 1 调整第二张图像在相同点上的光线 我已经做了如下 点上出现黑色或深色区域的强度大于 0 8
  • 将 csv 文件的前 x 行读取到新的输出文件中?

    如何只复制 a 的前 x 行csv文件到一个新的csv通过终端文件 Brief 您将使用 Linux 终端 控制台 Use head n NUMBEROFLINES file csv获得第一NUMBEROFLINES的线路 使用 shell
  • 选择具有特定值的行之后的行

    嘿 再次 我仍然掌握查询和其他东西 所以请原谅所有常见的 SQL 问题 8 无论如何 我试图选择某个值之后的行 不明白 好吧 这就是它实际的样子 表 消息 message id thread id user id to id body me
  • 跨浏览器剪贴蒙版

    我的网站有导航 以矩形按钮列表的形式呈现有圆角 每个按钮都应该有自己的自定义背景 即照片 照片比按钮大 并且应该随着鼠标在该按钮上的移动而移动 我们有一种效果 就像我们透过窗户看一样 导航具有以下 HTML 结构 ul gt li gt a
  • Android CalendarProvider 事件颜色

    我最困惑的是如何在 Android CalendarProvider 中使用颜色 我可以添加事件 但是当我尝试插入具有特定颜色的事件时 默认日历颜色 浅蓝色 似乎会忽略此首选项 我想我不太确定如何使用颜色 我想知道是否有人可以好心地解释一下
  • 延迟容器启动,直到 pod 中的其他容器启动

    我正在研究一个用例 其中 sidecar 容器在更改主容器的目录权限时连续运行 shell 脚本 我只想在 pod 中的主容器准备就绪后才启动侧容器 我正在查看 Init Containers 我发现当我们具有 pod 间依赖关系时 ini
  • JavaScript 中的 Node js / MongoDB 副本集数组

    警告 我是一名新手程序员 更多的是系统管理员 我们获得了一个使用 MongoDB 的 Node js 应用程序 据我所知 mongo js 文件使用 mongojs 和 monq java 类 它只设置了一个 MongoDB 我正在尝试设置
  • Flask AttributeError:模块“flask.json”没有属性“JSONEncoder”

    我的烧瓶应用程序在升级之前可以正常运行 当忘记重置密码时 我在发送电子邮件时遇到了问题 为了尝试解决这个问题 我最近升级了我的 Flask 应用程序的一些模块 我使用当前版本升级的模块是 电子邮件验证器 2 0 0 post2 烧瓶 2 3
  • 如何在C#中动态创建表

    table border 1 tr td Record 1 td tr tr td 1 td td 2 td td 3 td tr tr td a td td b td td c td tr tr td m td td n td td o
  • 递归 JSON.stringify 实现

    我正在尝试学习 Javascript 中的递归 所以我想我应该重写本机JSON stringify使用递归函数作为对自己的挑战 我几乎让我的代码可以工作 var my stringify function obj value obj Obj
  • 如何清理 WordPress 中的用户密码信息?

    我正在 WordPress 网站上的自定义注册表单中捕获用户名 电子邮件和密码 我正在使用以下方式清理用户名sanitize user and sanitize email 清理电子邮件地址 例如 username sanitize use
  • 如何向图像添加文字?

    在我的项目中 我使用 iText 生成 PDF 文档 假设页面的高度为 500pt 1 个用户单位 1 点 并且我在页面上写入了一些文本 然后是图像 如果内容和图像要求小于 450pt 则文本在图像之前 如果内容和图像超过 450pt 文本
  • 如何在Python 2.7中设置HTTP代理?

    我正在尝试运行一个安装 pip get pip py 的脚本 但由于我的网络位于 HTTP 代理后面 导致连接超时 有什么方法可以在我的 Python 2 7 安装中配置 HTTP 代理 以便能够安装我想要安装的内容吗 注意 我使用的是Wi
  • 在包含 1 亿个字符串的大型文本文件中进行高效的子字符串搜索(无重复字符串)

    我有一个很大的文本文件 1 5 GB 有 1 亿个字符串 没有重复的字符串 所有字符串都在文件中逐行排列 我想在java中制作一个wep应用程序 以便当用户给出关键字 子字符串 时 他可以获得包含该关键字的文件中存在的所有字符串的计数 我已
  • 如何检测 jquery 中的文档何时添加了新元素?

    如何检测 jquery 中的文档何时添加了新元素 解释 我想知道何时将具有 column header 类的元素添加到文档中 因为我计划在这些元素上运行一些 javascript 我怎样才能做到这一点 我使用 jQuery javascri