现代浏览器实现以下有用的方法:.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