JavaScript在一个节点前插入新节点|Node insertBefore() 方法
定义与用法
insertBefore() 方法可在已有的子节点前插入一个新的子节点。
提示: 如果你想创建一个新的文本列表项,在 LI 元素后你应该添加元素的文本节点,然后在列表中添加 LI元素。
你也可以使用 insertBefore 方法来 插入/移除 已存在的元素。
语法格式
node.insertBefore( newnode,existingnode)
示例代码
列表中添加项:
document.getElementById("myList").insertBefore(newItem,existingItem);
添加前:
- Coffee
- Tea
添加后:
- Water
- Coffee
- Tea
浏览器支持
方法 | |||||
---|---|---|---|---|---|
insertBefore() | Yes | Yes | Yes | Yes | Yes |
所有主要浏览器都支持 insertBefore() 方法
参数说明
参数 | 类型 | 描述 |
---|---|---|
newnode | 节点对象 | 必须。要插入的节点对象 |
existingnode | 节点对象 | 必须。要添加新的节点前的子节点。 |
返回值
类型 | 描述 |
---|---|
节点对象 | 你插入的节点/td> |
技术细节
DOM 版本 | Core Level 1 Node Object |
---|
更多示例
移动某个列表项到另一个列表项:
var node=document.getElementById("myList2").lastChild;
var list=document.getElementById("myList1");
list.insertBefore(node,list.childNodes[0]);
添加前:
- CoffeeTea
- Water
- Milk
添加后:
- Milk
- Coffee
- Tea
- Water