DOMNode::replaceChild

子を置き換える

説明

public DOMNodefalse DOMNode::replaceChild(DOMNode $node, DOMNode $child)

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

パラメータ

node

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

child

古いノード。

戻り値

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

エラー / 例外

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