"innerHTML += ..." vs "appendChild(txtNode)"的区别
- 论坛
- "innerHTML += ..." vs "appendChild(txtNode)"的区别
12 浏览
"innerHTML += ..." vs "appendChild(txtNode)"的区别
这个问题是关于使用innerHTML连接和将文本节点添加到现有节点之间的比较。在幕后发生了什么?
到目前为止,我对此的想法是:
- 我猜两者都会引起"重排"。
- 后者(添加文本节点),据我所知,还会导致DOM的完全重建(对吗?它们都这么做吗?)。
- 前者似乎还有一些其他令人讨厌的副作用,比如导致先前保存的对子节点的引用指向我修改innerHTML的节点不再指向"当前的DOM"/"正确版本的子节点"。相比之下,当添加子节点时,引用似乎保持完整。为什么会这样?
我希望你们能给我解答,谢谢!