Heim  >  Fragen und Antworten  >  Hauptteil

Wie füge ich ein HTML-Element an das telegra.ph P-Element an?

Ich baue eine Chrome-Erweiterung und möchte einige Elemente an diese Telegrammseite anhängen. Es scheint, dass nur der Text erfolgreich angehängt wurde und nicht der gesamte HTML-Code.

const span = document.createElement("span");
span.innerHTML = '<span class="xxx">Foo,bar</span>';
const p = document.querySelector("p");
p.appendChild(span);

P粉949848849P粉949848849213 Tage vor392

Antworte allen(1)Ich werde antworten

  • P粉231079976

    P粉2310799762024-03-20 13:26:15

    正如评论中所建议的那样,我验证了自己,实际上有一个 MutationObserver 当某些代码试图在文档树中的某个点改变某些内容时,它会实时更改 dom。

    因为没有标准方法来查找在 dom 上监听的实时 MutationObservers 实例(如果有的话),除非您可以努力查找保存该对象的变量在哪个范围内;最快的方法是用它的克隆替换 body 元素,所有 MutationObserver 都会消失。

    document.body = document.body.cloneNode(true);

    完成此操作后,当您尝试将元素附加到 dom 时,它将按预期进行相应更改,而不会受到干扰。

    平心而论...

    在寻找如何获取实时 MutationObserver 实例或解决该需求的工作方法是什么时,在 Stack Overflow 答案中找到了最后的线索?

    是有没有办法从项目中删除所有的mutationObservers而不引用它?

    Antwort
    0
  • StornierenAntwort