Element: replaceWith() メソッド

Element.replaceWith() メソッドは、この Element を親の子リストの中で一連の Node オブジェクトまたは文字列に置換します。文字列は Text ノードと等価なノードとして挿入されます。

構文

js
replaceWith(param1)
replaceWith(param1, param2)
replaceWith(param1, param2, /* … ,*/ paramN)

引数

param1, …, paramN

一連の Node オブジェクトまたは文字列で置換します。

返値

なし (undefined)。

例外

HierarchyRequestError DOMException

階層の指定の位置にノードを挿入できなかったときに発生します。

replaceWith() の使用

js
const div = document.createElement("div");
const p = document.createElement("p");
div.appendChild(p);
const span = document.createElement("span");

p.replaceWith(span);

console.log(div.outerHTML);
// "<div><span></span></div>"

replaceWith() はスコープに非対応

replaceWith() メソッドは with 文でのスコープに対応していません。詳細は Symbol.unscopables をご覧ください。

js
with (node) {
  replaceWith("foo");
}
// ReferenceError: replaceWith is not defined

仕様書

Specification
DOM Standard
# ref-for-dom-childnode-replacewith①

ブラウザーの互換性

BCD tables only load in the browser

関連情報