Node.replaceChild

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Аннотация

Заменяет дочерний элемент на выбранный. Возвращает заменённый элемент.

Синтаксис

replacedNode = parentNode.replaceChild(newChild, oldChild);
  • newChild элемент на который будет заменён oldChild. В случает если он уже есть в DOM, то сначала он будет удалён.
  • oldChild элемент который будет заменён.
  • replacedNode заменённый элемент. Тоже самое что и oldChild.

Пример

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

// Создаём новый пустой элемент
// without an ID, any attributes, or any content
var sp1 = document.createElement("span");

// Присваиваем ему id 'newSpan'
sp1.setAttribute("id", "newSpan");

// Создаём строку.
var sp1_content = document.createTextNode("new replacement span element.");

// Добавляем контент в созданный нами узел
sp1.appendChild(sp1_content);

// создаём ссылку на существующий элемент который будем заменять
var sp2 = document.getElementById("childSpan");
var parentDiv = sp2.parentNode;

// заменяем существующий элемент sp2 на созданный нами sp1
parentDiv.replaceChild(sp1, sp2);

// Результат:
// <div>
//   <span id="newSpan">new replacement span element.</span>
// </div>

Спецификации

Specification
DOM Standard
# dom-node-replacechild

Совместимость с браузерами

BCD tables only load in the browser

Смотрите также