mozilla

Node.replaceChild

概述

用指定的节点替换当前节点的一个子节点,并返回被替换掉的节点.

语法

replacedNode = parentNode.replaceChild(newChild, oldChild);
  • newChild 用来替换oldChild的新节点.如果该节点已经存在于DOM树中,则它会被从原始位置删除.
  • oldChild  被替换掉的原始节点.
  • replacedNodeoldChild相等.

例子

// <div>
//  <span id="childSpan">foo bar</span>
// </div>

// 创建一个空的span元素节点
// 没有id,没有任何属性和内容
var sp1 = document.createElement("span");

// 添加一个id属性,值为'newSpan'
sp1.setAttribute("id", "newSpan");

// 创建一个文本节点
var sp1_content = document.createTextNode("新的span元素的内容.");

// 将文本节点插入到span元素中
sp1.appendChild(sp1_content);

// 获得被替换节点和其父节点的引用.
var sp2 = document.getElementById("childSpan");
var parentDiv = sp2.parentNode;

// 用新的span元素sp1来替换掉sp2
parentDiv.replaceChild(sp1, sp2);

// 结果:
// <div>
//   <span id="newSpan">新的span元素的内容.</span>
// </div> 

规范

DOM Level 1 Core: replaceChild

DOM Level 2 Core: replaceChild

文档标签和贡献者

向此页面作出贡献: teoli, ziyunfei, khalid32
最后编辑者: khalid32,