gpt4 book ai didi

javascript - 浏览器如何从innerHTML属性更新DOM?

转载 作者:行者123 更新时间:2023-12-02 16:33:50 25 4
gpt4 key购买 nike

我试图弄清楚当 javascript 更改 Node.innerHTML 属性时,浏览器如何执行 DOM 更新工作。

给定代码:

> var obj=document.createElement("DIV");
> obj.innerHTML='<P><SPAN>A</SPAN></P><DIV>B</DIV>';
> obj.childNodes
[<p>​<span>​A​</span>​</p>​, <div>​B​</div>​]

这对我来说似乎很神奇,因为我认为innerHTML是一个属性,而不是一个函数,所以...

如何通知 javascript 字段中的更改以调用函数来更新 DOM 树?

当 javascript 中的变量发生更改时,是否有任何类型的监听器用于调用函数,或者只有某些守护进程在执行的每个 javascript 行上监视 Node.innerHTML 变量?

如果您想知道为什么它很重要,我正在编写一个 DOMParser,这对我来说是一个问题。

根据给定的引用资料,我了解到浏览器引擎可能提供类似 Object.watch (gecko) 或 Object.observe(chrome) 的方法。

但是在nodejs中有办法做到这一点吗?

最佳答案

since I think that innerHTML is a property, not a function

Javascript 支持 setter。 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/set

在这成为语言标准的一部分之前, native 对象(例如 DOM 节点)已经在内部使用了 setter 功能。

关于javascript - 浏览器如何从innerHTML属性更新DOM?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28096584/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com