2023.09.30 [土] JavaScriptで要素を挿入する。
後期集中授業が終わり、通常授業が始まります。
1年生はJavaScriptに触れる機会も増えてくるということで、色々とJavaScriptの授業資料を棚おろししています。
永らく要素の挿入をNode.appendChild()
でやっていたのですが、挿入する要素をノードで扱わなくてはならず、NodeList と HTMLCollection と Node.appendChild() とのように、初学者には頻繁にエラーと出くわすことになります。
実は、append, prepend, before, after, remove, replaceWith のようなモダンなメソッドがあるのですがJavaScriptの本などでは、あまり紹介されていませんので、調べてみました。

Element.append()メソッド
Element.append()
メソッドは、一連のNodeオブジェクトまたは文字列をElementの最後の子の後に挿入します。文字列は、等価なText ノードとして挿入されます。
Node.appendChild()
との違いは次の通りです。
Element.append()
は文字列も追加することができますが、Node.appendChild()
はNode オブジェクトのみを受け付けます。Element.append()
には返値がありませんが、Node.appendChild()
は追加された Node オブジェクトを返します。Element.append()
は複数のノードや文字列を追加することができますが、Node.appendChild()
はノードを1つだけしか追加することができせん。
const div_elm = document.querySelector('div');
const appendText = document.createElement('p');
appendText.innerText = 'appendで挿入';
div_elm.append(appendText,"そのままテキスト_append
");
結果は、こうなりました。
prepend()メソッド, after()メソッド, before()メソッド,
Element.prepend()
、Element.after()
、Element.before()
はそれぞれ挿入される場所が違うだけで使い方も同じです。