.insertAdjacentHTML()
指定したテキストをHTMLまたはXMLとして解析し、指定した位置のDOMツリーへその結果のノードを挿入します。 既に使用されている要素の再解析は行わないため、要素内に存在する要素が破損されることはありません。 このように余計なシリアライズ化の手順を避ける事で、 直接innerHTMLを行うよりも、 はるかに速くすることが可能です。
文法
element.insertAdjacentHTML(position, text);
引数 | 説明 |
---|---|
position |
要素への相対位置を指定します。 値は下記のいずれかの文字列にしなければいけません。 |
text | HTMLまたはXMLとして解析し、ツリー内へ挿入する文字列を指定します。 |
位置名の視覚化
<!-- beforebegin -->
<p>
<!-- afterbegin -->
foo
<!-- beforeend -->
</p>
<!-- afterend -->
注意: beforebeginとafterendの位置は、ノードがツリー内にあり、親要素を持つ場合にのみ動作します。
例
// <div id="one">one</div> が存在するとします。
var d1 = document.getElementById('one');
d1.insertAdjacentHTML('afterend', '<div id="two">two</div>');
// 上記処理後、次のようになります。
// <div id="one">one</div><div id="two">two</div>
ブラウザ互換性
機能 | Chrome | Firefox (Gecko) |
IE | Opera | Safari |
---|---|---|---|---|---|
基本 | 1.0 | 8.0 (8.0) | 4.0 | 7.0 | 4.0 (527) |
機能 | Android | Firefox Mobile |
IE Mobile |
Opera Mobile |
Safari Mobile |
---|---|---|---|---|---|
基本 | ? | 8.0 (8.0) | ? | ? | ? |
仕様
関連項目
- hacks.mozilla.org guest post by Henri Sivonen including benchmark showing that insertAdjacentHTML can be way faster in some cases.
© 2017 Mozilla Contributors
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
このページは、ページトップのURL先のMozilla Developer Network(以下、MDN)のコンテンツを翻訳した内容を基に構成されています。 構成について異なる点も含まれますので、下記の項目を確認し、必要に応じて元のコンテンツをご確認ください。 もし、誤訳などの間違いを見つけましたら、 @tomofまで教えていただければ幸いです。
- 特定のブラウザに特化しすぎている情報やあまりにも古い情報、 または試験的に導入されているようなAPIや機能については、省略していることがあります。
- 例やデモについて、実際にページ内で動作させる関係で一部ソースコードを変更している場合や、 その例で使用しているコンテンツの単語や文章などを日本人向けに変更しいてる場合があります。
- MDNの更新頻度が高いため、元のコンテンツと比べ情報が古くなっている可能性があります。
- "訳注:"などの断わりを入れた上で、日本人向けの情報の追記を行っている事があります。