[8] [CODE(DOMi)@en[Node]] [[インターフェイス]]の 
[DFN[[CODE(DOMm)@en[insertBefore]]]]
[[メソッド]]は、指定した[[節点]]を基準となる[[節点]]の直前 (直接の[[兄]])
として[[挿入]]することを指示するものです。


* 歴史

** W3C 時代

[9] [[DOM1]] で導入されました。

[1]
[[DOM水準1]] [[SE]] と [[DOM水準2]]と[[DOM水準3]]によれば、
[CODE(DOMp)@en[[[newChild]]]] の [CODE(DOMa)@en[[[parentNode]]]]
が[[読取専用]]なら [CODE(DOMc)@en[[[NO_MODIFICATION_ALLOWED_ERR]]]] となります。

[2]
[CODE(DOMi)@en[[[DocumentFragment]]]] を
[CODE(DOMp)@en[[[newChild]]]] としたとき何が返されるのかよくわかりません。

[3]
[CODE(DOMa)@en[[[ownerDocument]]]] が
[CODE(IDL)@en[null]]
の [CODE(DOMi)@en[[[DocumentType]]]]
を [CODE(DOMp)@en[[[newChild]]]] としたときどうなるのかよくわかりません。

[4]
[[DOM水準3]]によると自分の前に挿入しようとしたら結果は[[実装依存]]です。
([[名無しさん]])

[5]
[[DOM水準3]]によると [CODE(DOMi)@en[[[Document]]]]
に2つ目の [CODE(DOMi)@en[[[DocumentType]]]] や
[CODE(DOMi)@en[[[Element]]]] を [CODE(DOMm)@en[[[appendChild]]]]
しようとするのは [CODE(DOMc)@en[[[HIERARCHY_REQUEST_ERR]]]] です。
([[名無しさん]])

[6]
>>5 詳細は [CODE(DOMm)@en[[[appendChild]]]]
を参照。
([[名無しさん]])

[7]
[[DOM水準2]][[正誤表]]と[[DOM水準3]]によると自分に自分を
[CODE(DOMm)@en[[[appendChild]]]] しようとしたら
[CODE(DOMc)@en[[[HIERARCHY_REQUEST_ERR]]]] です。

** WHATWG 時代

[10] [[Web DOM Core]] を経て、 [[DOM Standard]] で改めて定義されました。


[11] [CITE@en[Editorial: synchronize with the DOM Standard · whatwg/html@21c6ec7]]
([TIME[2016-03-20 18:02:09 +09:00]] 版)
<https://github.com/whatwg/html/commit/21c6ec77594eb89b836d4872222f5916910967fd>

[12] [CITE@en[Add ''''''[''''''CEReactions'''''']'''''' annotations to mutating methods · whatwg/dom@3cd02d1]]
([TIME[2016-04-26 19:07:15 +09:00]] 版)
<https://github.com/whatwg/dom/commit/3cd02d139c159a31fbb400e03932652c72fc7812>