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
# dom-node-replacechild

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

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
replaceChild

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

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