jQuery 加载动态元素

2024-01-02

我正在尝试对动态添加到页面上某些容器的元素进行一些条件操作,但我错过了一个事件。

假设我有一个容器:

<div id="container"></div>

我可以轻松地将事件处理程序绑定到所有新元素的单击函数,使用

$('#container').on('click', '.sub-element', function() { ... });

但是,当元素添加到时,我应该绑定什么才能获得“一次性”钩子#container。我尝试绑定到ready and load无济于事。有什么办法可以做到这一点,还是我必须想出另一种解决方案来解决我的问题?

这个小提琴包含我的非工作示例 http://jsfiddle.net/ggHh7/1/.


您可以在新添加的 DOM 元素上触发自定义事件,该事件可以由 jQuery 事件处理程序拾取:

//bind to our custom event for the `.sub-element` elements
$('#container').on('custom-update', '.sub-element', function(){
    $(this).html('<b>yaay!</b>');
});

//append a new element to the container,
//then select it, based on the knowledge that it is the last child of the container element,
//and then trigger our custom event on the element
$('#container').append('<div class="sub-element">No worky!</div>').children().last().trigger('custom-update');

这是一个演示:http://jsfiddle.net/ggHh7/4/ http://jsfiddle.net/ggHh7/4/

即使您通过不同的方法加载动态内容,此方法也允许您在全局范围内执行某些操作。

Update

我不确定浏览器支持(我假设 IE8 及更早版本不支持此),但您可以使用DOMNodeInserted检测何时添加 DOM 元素的突变事件:

$('#container').on('DOMNodeInserted', '.sub-element', function(){
    $(this).html('<b>yaay!</b>');
})

$('#container').append('<div class="sub-element">No worky!</div>');

这是一个演示:http://jsfiddle.net/ggHh7/7/ http://jsfiddle.net/ggHh7/7/

UPDATE

为此有一个新的 API:DOMNodeInserted此时已贬值。我还没研究过,但它叫MutationOvserver: https://developer.mozilla.org/en-US/docs/Web/API/MutationObserver https://developer.mozilla.org/en-US/docs/Web/API/MutationObserver

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

jQuery 加载动态元素 的相关文章

  • jQuery mobile 中的文本区域高度和宽度?

    我修复了 jQuery mobile 中文本区域元素的高度 并且在纵向中得到了完美的高度和宽度 但在横向中宽度没有放大 谁能帮我 提前致谢 HTML
  • 使用 AJAX 加载部分视图不起作用

    请原谅我 我是 MVC 和 AJAX 的新手 目前我只是提交一个表单 我想使用表单中的数据使用 ajax 更新部分视图中的表 My UserInfo部分视图如下所示 model IEnumerable
  • Jquery 悬停卡

    我在用着http designwithpc com Plugins Hovercard http designwithpc com Plugins Hovercard 但我不知道如何在悬停卡上声明 var 每个工作描述都有自己的 ID 当悬
  • Instagram 粉丝计数 - 使用 jQuery / json 和 PHP

    经过几个小时的工作和一些帮助萨希尔 米塔尔我们已经成功使用 jQuery json 和 PHP 检索 Instagram 关注者计数 这是我们设法整理的内容 希望对其他想要获取 Instagram 信息的人有所帮助 我们的 jQuery I
  • 编辑第一个选项名称

    我有以下我无法访问的代码 我想要做的是将一些文本添加到现在为空的第一个选项中 诸如 选择地址 之类的文本
  • 滚动顶部不符合预期

    Note 由于上次忘记奖励而重新开放赏金 A Woff 大师已经给出答案 我想在用户展开某一行时到达该行 这样当最后一个可见行展开时 用户不必向下滚动即可查看内容 I used example tbody on click td green
  • 测量窗口偏移

    有没有一种方法可以测量 jQuery 中窗口的偏移量 以便我可以比较 固定 元素和相对定位元素的位置 我需要能够知道窗口滚动了多远 以便我可以使用该图来计算固定元素的高度 相对于视口顶部 和相对对象的高度 相对于顶部 之间的差异文件的内容
  • 没有输入的 jQuery 日期选择器

    我有一个相当复杂的网络应用程序 我想向其中添加一些日期选择 UI 我遇到的问题是我无法从文档中弄清楚如何真正控制日期选择器的出现方式和时间 不涉及任何表单元素 不 我不会添加秘密表单字段 因此简单的开箱即用方法根本行不通 我希望有人可以提供
  • 如何比较jquery中的两个元素[重复]

    这个问题在这里已经有答案了 var a start gt div last child var b start gt div live 0 alert a b alert a b 它总是假的 如何在 jQuery 中比较两个元素 thank
  • 如何为名称为数组的 jquery 表单验证插件创建规则?

    有谁知道当您有一个数组的名称属性时如何为 jquery 表单验证插件创建规则 eg
  • 如何为 HTML 元素创建鼠标拖动滑块?

    我发现的许多滑块插件要么仅单击以查看下一个图像 要么如果它们确实具有鼠标拖动或触摸拖动功能 则仅允许图像 有谁知道为任何 html 元素编写鼠标拖动滑块的插件或可能的方法 我专门使用 SVG 但将来如果能在 div 元素之间滑动就更好了 H
  • 用户脚本 - 有没有办法将 jquery 代码注入 angularjs dom?

    所以我正在尝试为一个网站创建用户脚本 我无法更改网站的任何源代码 因为它不是我的 网站到处都使用 AngularJS 控制器 我研究了几天如何做到这一点 但没有成功 所以我尝试注入代码 nav after div test div 当我通过
  • 获取 FileReader() 的结果对象

    有什么方法可以在不通过函数的情况下获取 FileReader 的结果对象 我在下面制作了示例代码 HTML br br br div div JS var code lorem ipsum input type file change fu
  • Firefox 不会在使用 jQuery AJAX 加载的内容上呈现 CSS 样式

    我有一个网站 允许用户对书籍和文章发表评论 主表单有一个搜索输入 用于查找相关书籍或文章 来源 我使用 jQuery 根据输入的搜索词从外部站点动态加载新源 然后还使用 AJAX 返回列表中的源 我有两个问题 现在 在用户输入四个字符后 j
  • 检查 jQuery 1.7 中是否存在基于文本的选择选项

    所以我有以下 HTML 片段
  • Chrome//kendoUI/jQuery:超出最大调用堆栈大小

    我正在使用 hottowell 模板来创建 spa 应用程序 并且我从 jquery 中收到了一个很好的错误 基本上我的问题从此刻开始尝试绑定我的视图 viewModelBinder js 来自 durandal 库 viewModelBi
  • 在 JavaScript 循环之外声明变量可以提高速度和内存?

    C 也有类似的问题 但我们没有看到 JavaScript 的任何问题 在循环内声明变量是否可以接受 假设循环有 200 次迭代 使用样本 2 相对于样本 1 是否有性能要求 内存和速度 我们使用 jQuery 来循环 它提高了我们将 var
  • 如何用另一个响应替换窗口的 URL 哈希?

    我正在尝试使用替换方法更改哈希 URL document location hash 但它不起作用 function var anchor document location hash this returns me a string va
  • Jquery - 选择选项后如何获取选项的特定数据类型?

    我将直接跳到标记 然后解释我想要做什么 HTML 选择选项
  • 循环内的异步性

    我正在使用 jQuery getJSON 用于从一组实用程序的给定 URL 检索数据的 API 我真的很想找到一种为每个实用程序重用代码 完全相同 的方法 由于循环的执行与 ajax 调用无关 因此我无法找到保留循环值的方法 我知道这个描述

随机推荐

  • 如何与 Doctrine 建立 UNION?

    我正在尝试执行以下查询 public function findByNotifications ownerId em this gt getEntityManager query em gt createQuery SELECT n FRO
  • 如何使用“Match”cmdlet 在 PowerShell 中过滤字符串数组(或列表)?

    我正在尝试过滤 CSV 文件 但下面的脚本给出了一个错误 如何指定要在每个 String 对象上运行匹配 我尝试了各种组合 但没有结果 FileNames System IO Directory GetFiles C Users anagr
  • 无法将类型编组为元素,因为它缺少自动生成的类的 @XmlRootElement 注释

    我需要根据我的架构验证 Class 对象 在该架构中我提供了正则表达式来验证自动生成的 JAXB 类的字段 当我尝试验证我的类对象时 出现以下错误 无法将类型 xyz 编组为元素 因为它缺少 XmlRootElement 注释 这是我用来验
  • 写 FizzBu​​zz

    读完这本编码恐怖小说后 我再次遇到了 FizzBu zz 原帖在这里 编码恐怖 为什么程序员不能编程 http www codinghorror com blog 2007 02 why cant programmers program h
  • 我们如何将 Perl 哈希引用绑定到 java 哈希映射

    我在用内联 Java https metacpan org pod Inline Java在 Perl 中 我需要将哈希传递给 Java 方法 我尝试过以下代码 my obj new Pod 101 my data input gt 45
  • 如何在链表中的给定位置插入项目?

    这是添加项目的方法 public void insert Object item Link add new Link add data item add next head head add listsize 但是如何在给定位置添加项目 到
  • 使用 Chart.js 将自定义文本添加到条形图标签值

    我正在使用 Chart js 插件来显示条形图 我得到的输出如下 My question is about how to add a custom text after rendering a value to bar For exampl
  • 使用 mongoose 过滤 mongoDB 中的嵌套数组

    我需要过滤 MongoDB 中的多级嵌套数组 架构如下 id 1234 array1 id a11 array2 id a21 array3 id a31 status done id a32
  • 打开自定义协议后关闭浏览器窗口

    我创建了一个 ASP Net 应用程序页面来处理打开FileSite http interwoven com cn products worksite deskmail site html链接 有一个自定义协议可以正确处理链接 即它打开文件
  • 如何创建白色的CSS框阴影

    我的网站上有以下框阴影 css 它在 Chrome 中看起来很棒 但 Firefox 和 IE 无法重现我正在寻找的效果 我只想在盒子的底部有一个白色的实心阴影 如何使其适用于所有浏览器 box shadow 0px 10px 14px 1
  • 如何禁用 netbeans 中的“扫描外部更改”?

    如何在 netbeans 中禁用 扫描外部更改 通过取消标记此处提到的复选框 https web archive org web 20110513031753 http blogs oracle com netbeansphp entry
  • 无法在索引 2 处绑定参数,因为索引超出范围

    我正在努力解决这个问题 任何人都可以帮我解决这个问题吗 请让我知道查询语句中的 where 子句哪里出了问题 我想从所有列中读取值 然后将其显示出来 这是我的查询代码 public class MainActivity extends Ap
  • 重新排序内存中的字节,然后写入文件

    我在内存中有一个数据块 从memory ptr 该程序的作用是对每个 qword 进行字节反转 然后将其写入文件 例如 18171615141312112827262524232221将写成1112131415161718212223242
  • 在 pandas 数据框中查找具有相同列值的行

    我有两个具有不同列大小的数据框 其中四个列在两个数据框中可以具有相同的值 我想在 df1 中创建一个新列 如果 df2 中的一行与 df1 中的一行具有相同的 A B C 和 D 列值 则该新列的值为 1 如果没有这样的行 我希望该值为 0
  • 如何为具有 VARBINARY(MAX) 字段的表生成 INSERT 脚本?

    我有一张桌子 上面有VARBINARY MAX 字段 SQL Server 2008 具有FILESTREAM 我的要求是 当我部署到生产环境时 我只能向 IT 团队提供一组按特定顺序执行的 SQL 脚本 我在生产中制作的新表有这个VARB
  • 未设置 vs. = NULL [重复]

    这个问题在这里已经有答案了 可能的重复 使用 PHP 释放内存哪个更好 unset 或 var null https stackoverflow com questions 584960 whats better at freeing me
  • ExtJS 图表的性能比 FusionCharts 更好吗?

    我们正在考虑在应用程序中用 ExtJS 图表替换 FusionCharts 因为 我们已经在整个 UI 中使用了 ExtJS 如果能够消除另一个商业第三方依赖项和 API 的开销和费用 那就太好了 我们希望能够在无 Flash 的移动设备上
  • 如何在 Ruby on Rails 中覆盖 Materialise CSS?

    我一直在互联网上浏览一些关于 Rails 中的 Materialise 的帖子 但是这个领域似乎非常模糊 我目前正在使用 Materialize sass gem 我没有找到很多有用的帖子 我决定来这里 这是我的页面代码pages disc
  • ggplot2 在箱线图顶部添加文本

    我有一个正在绘制的数据ggplot2作为箱线图 看起来像 gt head varf sID variable value 1 SP SA036 SA040 CM0001 0 492537313 2 SP SA036 SA040 CM0001
  • jQuery 加载动态元素

    我正在尝试对动态添加到页面上某些容器的元素进行一些条件操作 但我错过了一个事件 假设我有一个容器 div div 我可以轻松地将事件处理程序绑定到所有新元素的单击函数 使用 container on click sub element fu