Javascript .insertAdjacentHTML和.innerHTML之间的差异? 在选择 .EndotRealStuttML >代码>时,有什么不同要考虑?每一个都有哪些引人注目的用例?哪种性能更好?在什么情况下?.innerHTML是如何工作的?还有其他选择吗?
有一些好处Javascript .insertAdjacentHTML和.innerHTML之间的差异? 在选择 .EndotRealStuttML >代码>时,有什么不同要考虑?每一个都有哪些引人注目的用例?哪种性能更好?在什么情况下?.innerHTML是如何工作的?还有其他选择吗?,javascript,Javascript,有一些好处。insertAdjacentHTML比更具优势。首先是性能。在进行的一项基准测试中,.innerHTML在整整五秒钟内添加了超过200条Twitter推文insertAdjacentHTML在同一时间段内追加了近30000个。需要追加的数据越多,执行的.innerHTML越差。但是请注意,在本例中,数据是使用.innerHTML+=追加的 另一个好处是控制.insertAdjacentHTML为您提供了对附加数据位置的控制,而“.innerHTML则没有 .insertAdjacen
。insertAdjacentHTML
比更具优势。首先是性能。在进行的一项基准测试中,.innerHTML
在整整五秒钟内添加了超过200条Twitter推文<另一方面,code>insertAdjacentHTML在同一时间段内追加了近30000个。需要追加的数据越多,执行的.innerHTML
越差。但是请注意,在本例中,数据是使用.innerHTML+=
追加的
另一个好处是控制.insertAdjacentHTML
为您提供了对附加数据位置的控制,而“.innerHTML则没有
.insertAdjacentHTML
的最终好处是它不会损坏DOM。以下是.innerHTML+=
的工作原理
它通过序列化
元素李>
它将+=的右侧附加到字符串李>
它删除元素的子元素李>
它解析生成的新字符串
包含旧子体的序列化,后跟一些
新标记。
显然,最后一个好处并不适用于使用.innerHTML=
的情况
.innerHTML
的其他替代方法是.insertBefore
方法,顾名思义,它将一个节点作为子节点插入到另一个节点之前,以及.appendChild
方法,它将一个子节点作为最后一个节点插入
.insertAdjacentHTML
是一种多功能工具,它可以执行.innerHTML
、.insertBefore
、以及.appendChild
的工作
资料来源:这两种情况完全不同。使用一个而不是另一个的原因取决于具体情况。您的问题没有提到将+=
与.innerHTML
结合使用,因此我不确定您的答案为什么专门针对这种情况。就像你没有读你自己的问题一样。我编辑了这个问题,现在也在做同样的回答。