Here's a usage example.
If you try this, you'll get an error message.
$refNode->insertBefore($newNode, $refNode);
Try this instead...
$refNode->parentNode->insertBefore($newNode, $refNode);
DOMNode::insertBefore
(No version information available, might be only in CVS)
DOMNode::insertBefore — 参照しているノードの前に新しい子を追加する
説明
この関数は、参照しているノードの直前に新しいノードを挿入します。 追加するノードに対して変更を加えたい場合は、この関数から返される ノードを使用します。
パラメータ
- newnode
-
新しいノード。
- refnode
-
参照ノード。指定されなかった場合は、newnode が子要素として追加されます。
返り値
挿入されたノードを返します。
エラー / 例外
- DOM_NO_MODIFICATION_ALLOWED_ERR
-
このノードが読み込み専用であったり、挿入されるノードの以前の親が 読み込み専用であった場合に発生します。
- DOM_HIERARCHY_REQUEST_ERR
-
newnode で指定した型の子ノードを 保持することが許可されていない場合、あるいは追加しようとしている ノードが自分自身やその祖先であった場合に発生します。
- DOM_WRONG_DOCUMENT_ERR
-
newnode が、このノードとは別の ドキュメントで作成されたものである場合に発生します。
- DOM_NOT_FOUND
-
refnode がこのノードの子ではない場合に 発生します。
DOMNode::insertBefore
odonnell dot NOSPAM at ideaengineinc dot com
07-May-2008 05:57
07-May-2008 05:57
