移动由 JQuery 创建的对象

Posted

技术标签:

【中文标题】移动由 JQuery 创建的对象【英文标题】:moving an object created by JQuery 【发布时间】:2015-06-01 17:43:13 【问题描述】:

我确信这已经出现过,但我似乎无法搜索正确的措辞来找到任何相关的内容。

我有一个用 JQuery 创建的对象。 (实际上是由第 3 方插件创建的)

由于是在dom形成后创建的,所以JQuery没有发现它是一个对象。

我想 appendTo() 这个创建的对象。

不是有一个 JQuery 命令说“检查新元素是否已添加到 dom 中吗?

【问题讨论】:

您能否在jsfiddle.net 中举例说明您想做什么?尽可能少的代码来重现您的问题将大大提高我们为您提供帮助的能力 【参考方案1】:

有 JS MutationObserver 方法可以检测 DOM 树的更新。您可以检查更新是否与您添加的对象相对应。 另一个有用的问题here。

【讨论】:

【参考方案2】:

这就是所谓的事件委托。您可以在 on 方法中执行此操作:

$('table').on('click', 'td', function() 
  $( this ).addClass('highlight');
);

这会将highlight 类添加到所有td 元素,即使是在事件声明之后创建的元素。

但是,在您的特定示例中,appendTo() 应该能够找到新创建的元素,所以我想不出为什么在这种情况下需要事件委托。

【讨论】:

以上是关于移动由 JQuery 创建的对象的主要内容,如果未能解决你的问题,请参考以下文章

使用 jQuery 动态创建对象

移动由 ng-repeat 创建的 angularJS 元素

jquery 动画,移动除了上下左右,别的方向怎么移动呀

jQuery(html,[ownerDocument])详解

react怎么通过函数控制渲染dom

html 元素无法使用 jQuery 正确移动