如何在javascript中删除变异记录对象

时间:2015-10-13 12:47:54

标签: javascript jquery mutation-observers mutation mutation-events

我观察Div元素的变化,这个变量充满了带有ajax调用的子div。我的目标是在观察到的Record对象中进行一些检查并过滤其中的一些。如何从观察到的突变列表中删除/删除/过滤这些突变记录?并在网页中过滤它们。

我试图从突变列表中删除突变记录,但它没有起作用。 谢谢你的帮助。

&

2 个答案:

答案 0 :(得分:0)

我认为您的变异对象是一个复杂的对象,而不是普通的数据类型,因此您的" indexOf"检查你的.remove方法不会删除任何东西。

你应该创建一个额外的方法,比如" checkForElement"或者其他的东西。在该方法中,您可以决定变异对象的相等性。

在Stack Overflow上已有解决方案,例如: indexOf method in an object array?

答案 1 :(得分:0)

您无法中止突变,因为执行回调时,突变已经发生。

你可以做的是" rollback"使用MutationRecord中提供的信息进行变异,尤其是您似乎关心的addedNodes。你可以简单地迭代这些,并为每个节点从它的父节点中删除它:

if(node.parentNode) {
  node.parentNode.removeChild(node);
}