Node.insertBefore を使って
指定した要素の前後に要素を追加するコードを書きました
例
このdiv要素を基準に追加する
指定する要素は3つ
- 親要素
- 挿入する要素
- どの要素の前に挿入するか
コード.gs
function doGet() { return HtmlService.createHtmlOutputFromFile("index"); } |
意訳この機能がやること 指定したHTMLファイルを表示する |
index.html
<!DOCTYPE html> <html> <body> <div id="main"> <div id="sub">このdiv要素を基準に追加する</div> <button id="before">before</button> <button id="after">after</button> </div> <script> var main = document.getElementById("main"); var sub = document.getElementById("sub"); var before = document.getElementById("before"); var after = document.getElementById("after"); var before_num = 0; var after_num = 0; before.onclick = before_clicked; after.onclick = after_clicked; function before_clicked(){ before_num ++; var div = document.createElement("div"); div.textContent = "前に追加" + before_num; main.insertBefore(div, sub); } function after_clicked(){ after_num ++; var div = document.createElement("div"); div.textContent = "後ろに追加" + after_num; main.insertBefore(div, sub.nextSibling); } </script> </body> </html> |
意訳main_divのdiv sub_divのdiv 前に追加するボタン 後ろに追加するボタン idがmain_divの要素を取得 idがsub_divの要素を取得 idがbeforeの要素を取得 idがafterの要素を取得 before_numの初期値を0 after_numの初期値を0 beforeがクリックされたらbefore_clickedを実行する afterがクリックされたらafter_clickedを実行する この機能がやること before_numに1足す div要素を作る その要素のテキストは"前に追加" + before_num main_divの要素のsub要素の前にdivを挿入する この機能がやること after_numに1足す div要素を作る その要素のテキストは"前に追加" + after_num main_divの要素のsub_div要素の後ろにdivを挿入する |