DOM操作をするときに jQuery の append() を使うことが多いのですが、場合によっては jQuery が使用できないことがあるかと思います。
なので、今回はタイトル通り、jQueryなしで append() と同じことを行う方法についてです。
参考にさせていただいた記事はこちら。
innerHTML より insertAdjacentHTML を使う – Qiita
https://qiita.com/amamamaou/items/624c22adec32515e863b
実際のコードはこちら。
今回使うメソッドは、insertAdjacentHTML() というものです。
<div id="parent"> <p>p要素 その1</p> </div>
// id=parendの子要素の最下部に要素を追加 append() var element = document.getElementById("parent"); element.insertAdjacentHTML("beforeend", "<p>p要素 その2</p>");
上記のコードを実行すると、ID が parent の要素の子要素の一番下に、指定したp要素が追加されます。
動作としては、jQuery の append() と全く一緒です。
ちなみに、insertAdjacentHTML() メソッドの第一引数を変更することで、append() 以外の動作を行わせることができます。
簡単に表でまとめてみました。
jQuery | insertAdjacentHTML() |
append() | “beforeend” |
prepend() | “afterbegin” |
before() | “beforebegin” |
after() | “afterend” |
jQuery で行えるDOM要素の挿入は、こちらの方法でも問題なくできるようです。
なお、もしHTML文字列ではなく、HTML要素を指定したい場合には、insertAdjacentElement() が利用できます。
第一引数は、insertAdjacentHTML() と全く同じで、追加したい要素を指定する第二引数のみが違います。
こちらは、実装しているコードで使い分けてください。
ということで、jQueryなしで append() などと同じことを実行する方法でした。
システムによっては、jQueryを使えないこともあるかと思うので、この方法は覚えておきたいと思います。