我试图弄清楚当javascript更改DOM
属性时浏览器如何执行Node.innerHTML
更新作业。
鉴于代码:
> 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中完成吗?
答案 0 :(得分:2)
因为我认为innerHTML是属性,而不是函数
Javascript支持setter。 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/set
在此成为语言标准的一部分之前,本机对象(例如DOM节点)已经在内部使用了setter功能。