DOMDocumentFragment::prepend

最初の子ノードの前にノードを追加する

説明

public void DOMDocumentFragment::prepend(DOMNodestring ...$nodes)

ひとつ以上の nodes を、子ノードのリストに追加します。 追加されるのは、最初の子ノードの前になります。

パラメータ

nodes

ノードの前に追加するノード。 文字列は自動的にテキストノードに変換されます。

戻り値

値を返しません。

エラー / 例外

DOM_HIERARCHY_REQUEST_ERR

指定された nodes のうちの一つの子ノードの型を、 親ノードが許可していない場合や、ノードが自分自身やその祖先であった場合に発生します。

DOM_WRONG_DOCUMENT_ERR

指定された nodes のうちの一つが、 このノードを作成したドキュメントとは異なるものから作成された場合に発生します。

変更履歴

バージョン 説明
8.3.0 オーナーとなるドキュメントがないノードに対して、 このメソッドをコールしても動作するようになりました。 これより前のバージョンでは、エラーコード DOM_HIERARCHY_REQUEST_ERR を持つ DOMException がスローされていました。

例1 DOMDocumentFragment::prepend の例

文書片のルートの前にノードを追加します。

<?php
$doc = new DOMDocument;
$fragment = $doc->createDocumentFragment();
$fragment->appendChild($doc->createElement("world"));

$fragment->prepend($doc->createElement("hello"), "beautiful");

echo $doc->saveXML($fragment);
?>

上の例の出力は以下となります。

<hello/>beautiful<world/>

参考

  • DOMParentNode::prepend
  • DOMDocumentFragment::append