现代浏览器实现以下有用的方法:


.prepend()
.append()
.before()
.after()


这是一个受欢迎的补充。

他们还实现了.insertAdjacentElement(),据我所知,它会达到相同的结果,尽管更为冗长。

除了语法之外,新方法和(稍早)的.insertAdjacentElement()之间是否存在实际区别?

我知道Microsoft浏览器中尚不提供较新的方法,但是.insertAdjacentElement()甚至在IE8中也可用,因此polyfill并不难。

最佳答案

据我所知,除了语法外,没有什么其他的区别。

新方法可以采用多个参数,其中每个参数可以是节点或字符串。 insertAdjacentElement需要一个位置(字符串)和一个节点。如果要插入多个节点,则必须多次调用它。如果要插入文本,则必须使用insertAdjacentText

规格是我能找到的最佳来源:


https://dom.spec.whatwg.org/#dom-parentnode-prepend
https://dom.spec.whatwg.org/#dom-element-insertadjacentelement

09-25 17:41