insertBefore

insertBefore() 方法可在已有的子节点前插入一个新的子节点。此方法可返回新的子节点。

1
insertBefore(newchild, refchild);

在 IE 中如果没有 refchild,那么 insertBefore() 方法第二个参数不要指定。而在 Firefox/Google Chrome 等需要设定为 null

考虑往列表 ul中插入列表项 li

1
2
3
4
5
6
7
8
var firstItem = ul.childNodes[0];
// 判断ul是否存在子元素
if (!firstItem) {
document.all ? oUl.insertBefore(li) : ul.insertBefore(li, null);
} else {
ul.insertBefore(li, firstItem);
}

参考资料:

0%