[JavaScript]insertAdjacentHTMLで任意の場所に要素を追加する

javascript

insertAdjacentHTMLを使って任意の場所にHTML要素を追加します。

地味(?)に便利なものなので備忘録を兼ねて紹介。

insertAdjacentHTMLとは?

element.insertAdjacentHTML(position, text)

基本形はこの形です。

第一引数(position)でどこに挿入するのかを決め、第二引数(text)で何を挿入するのかを決めます。

ちなみに、単語を翻訳すると、

insert=差し込む、挿入する

adjacent=隣接、近接

という意味です。そのままですね。

 

コードを書いてみる

詳しい紹介は後述するとして、とりあえず簡単なコードを書いてみます。

hogeクラスの前にHTMLを挿入してみます。

querySelectorでDOMを取得(どこに挿入するのか?)

insertAdjacentHTMLで挿入

このような流れです。

HTMLファイルとJavaScirptファイルを書くとこんな感じ。

<div class='hoge'>Hello World</div>
var target = document.querySelector('.hoge');
target.insertAdjacentHTML('beforebegin', '<p>INSERT!</p>');

insertAdjacentHTMLの第一引数でどこに挿入するか場所を決めると前述しましたが、beforebiginと記述したようにどこに挿入するかは指定されています。

 

4つの挿入場所

第一引数には4つの引数を割り当てることができます。

beforebegin:指定した要素の直前に挿入

afterend:指定した要素の直後に挿入

afterbegin:指定した要素内部の最初の子要素の前に挿入

beforeend:指定した要素内部の最後の子要素の後に挿入

参考:insertAdjacentHTML | MDN



カテゴリー