在W3C中是这样定义的 第二个参数是可先的,但是在谷歌浏览器和火狐浏览器中测试是会有bug的,第二个参数是必填的,否则会报错 感兴趣的可以测试 以下是我测试的结果: 谷歌浏览器:Uncaught TypeError: Failed to execute 'insertBefore' on 'Node': 2 arguments required, but only 1 present. 火狐浏览器:TypeError: Not enough arguments to Node.insertB
js的appendChild()方法 :在一个元素内部追加一个子节点. js的insertBefore()方法:在一个元素内部指定的子节点之前插入子节点. 很明显,appendChild()方法只需要一个条件就可以了,那就是父元素. 而后者则需要两个条件,一个是父元素,一个是要在父元素哪个子节点前插入. 下面是两种情况的例子对比: var oDiv=document.getElementById('div1'); var oNew=document.createElement('div'); o