在.insertAdjacentHTML
上使用.innerHTML
方法有什么好处?是否有任何令人信服的理由使用.innerHTML
代替.insertAdjacentHTML
?哪个有更好的表现? .innerHTML
如何运作?还有什么其他选择?
答案 0 :(得分:3)
.insertAdjacentHTML
比.innerHTML
有一些好处。第一个是表演。在进行的基准测试中,.innerHTML
在5秒内附加了200多条Twitter推文。另一方面,insertAdjacentHTML
在相同的时间范围内附加了近30,000个。需要追加的数据越多,执行的.innerHTML
越差。但请注意,在这种情况下,使用.innerHTML +=
附加数据。
另一个好处是控制。 .insertAdjacentHTML
为您提供了对要附加数据的位置的控制权,而`.innerHTML则没有。
.insertAdjacentHTML
的最终好处是它不会破坏DOM。以下是.innerHTML +=
的工作原理。
.innerHTML
的值
元件。 .innerHTML =
。 .innerHTML
的其他替代方法是.insertBefore
方法,顾名思义是在另一个节点之前将节点作为子节点插入,以及插入子节点的.appendChild
方法作为最后一个节点。
.insertAdjacentHTML
是一种多功能工具,因为它可以执行.innerHTML
,.insertBefore
以及.appendChild
的工作。
资料来源:https://hacks.mozilla.org/2011/11/insertadjacenthtml-enables-faster-html-snippet-injection/