【问题标题】:How to check, if a new element appear in the document? [duplicate]如何检查文档中是否出现新元素? [复制]
【发布时间】:2012-12-19 17:40:37
【问题描述】:

可能重复:
Most efficient method of detecting/monitoring DOM changes?

我试过了,但它不起作用:

HTMLElement.prototype.onload = function() {
    alert(this.tagName);
};

【问题讨论】:

  • 是否有您正在寻找的特定元素?这里的最终目标是什么?
  • 那将是突变事件,它们并没有得到很好的支持。插入元素时最好只跟踪它们。
  • 只有少数类型的元素会触发load 事件,特别是那些加载某种相关资源的元素,例如imgscriptiframe

标签: javascript dom


【解决方案1】:

元素不会出现在文档中,除非你把它们放在那里。

存在突变事件以捕获插入、删除等,但它们没有得到很好的支持,因此大多数情况下最好在执行插入时捕获插入。

【讨论】:

    【解决方案2】:

    真的,你想在这里达到什么目的?

    如果只是要确定给定的 HTMLElement 当前是否在 DOM 中,您可以参考该元素的 parentNode 属性。除了<html> 之外的所有元素在它们是DOM 树的一部分时都会有一个parentNode。您可以拥有通过 JS 创建但从未插入到 DOM 中的元素,或者拥有在 DOM 中但现在从其中删除的元素。无论哪种方式,一个有 parentNode 的当前在 DOM 中,一个没有。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-06-12
      • 1970-01-01
      • 2014-05-01
      • 2013-03-16
      • 2018-04-19
      • 2011-03-24
      • 2013-08-18
      相关资源
      最近更新 更多