子を置き換える

# DOMNode::replaceChild

(PHP 5, PHP 7, PHP 8)

DOMNode::replaceChild — 子を置き換える

### 説明

public function DOMNode::replaceChild(DOMNode `$node`, DOMNode `$child`): DOMNode|false

この関数は、子要素 `child` を新しいノードに 置き換えます。もし `node` がすでに子要素であった場合は、 それがふたたび追加されることはありません。置き換えに成功すると、 置き換え前のノードが返されます。

### パラメータ

`node`

  新しいノード。対象ドキュメントのメンバ、 すなわち、DOMDocument->createXXX() メソッドのひとつで作成されたものか DOMDocument::importNode で ドキュメントにインポートされたものである必要があります。

`child`

  古いノード。

### 戻り値

古いノード、あるいはエラーが発生した場合は `false` を返します。

### エラー / 例外

以下のエラーコードで DOMException をスローします:

`DOM_NO_MODIFICATION_ALLOWED_ERR`

  このノードが読み込み専用であったり、挿入されるノードの以前の親が 読み込み専用であった場合に発生します。

`DOM_HIERARCHY_REQUEST_ERR`

  `node` で指定した型の子ノードを 保持することが許可されていない場合、あるいは追加しようとしている ノードが自分自身やその祖先であった場合に発生します。

`DOM_WRONG_DOCUMENT_ERR`

  `node` が、このノードとは別の ドキュメントで作成されたものである場合に発生します。

`DOM_NOT_FOUND_ERR`

  `child` がこのノードの子でない場合に発生します。

### 参考

- DOMChildNode::replaceWith() - ノードを新しいノードで置き換える
- DOMNode::appendChild() - 子要素群の最後に新しい子要素を追加する
- DOMNode::removeChild() - 子要素群から子要素を削除する

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open