DOMElement::after

要素の後ろにノードを追加する

説明

public void DOMElement::after(DOMNodestring ...$nodes)

渡された nodes を要素の後ろに追加します。

パラメータ

nodes

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

戻り値

値を返しません。

エラー / 例外

DOM_HIERARCHY_REQUEST_ERR

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

DOM_WRONG_DOCUMENT_ERR

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

変更履歴

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

例1 DOMElement::after の例

hello 要素の後ろにノードを追加します

<?php
$doc = new DOMDocument;
$doc->loadXML("<hello/>");
$container = $doc->documentElement;

$container->after("beautiful", $doc->createElement("world"));

echo $doc->saveXML();
?>

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

<?xml version="1.0"?>
<hello/>
beautiful
<world/>

参考

  • DOMChildNode::after
  • DOMElement::before