javascriptでエクセルみたいなユーザーが打ち込める行列を作成しています。
1行目で右端に追加ボタンで行を生成、各行の右端のセルで自身の行を削除というような機能を持たせたくて以下のようなプログラムにしましたが追加は動きますが、最初の行しかできません。
考えとしては、複成した行は、削除できない事から複成が上手くいっていないのかなと思いますが、解決策がわかりません。どうぞよろしくお願いします。
(html)
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="utf-8"> </head> <body> <table border="1"> <thead> <tr> <td>1</td> <td>2</td> <td>3</td> <td>4</td> <td>5</td> <td>6</td> <td>7</td> <td>8</td> <td>9</td> <td>10</td> <td><input type="button" value="追加" id="add"></td> </td> </tr> </thead> <tbody contenteditable="true" id="addlist"> <tr> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td></td> <td> <input type="button" value="削除" id="remove"> </td> </tr> </tbody> </table> <script src="js/test.js"></script> </body> </html>(javascript)
'use strict'
let add = document.getElementById("add");
add.addEventListener("click", function(){
let tbody = document.getElementById("addlist"); let tr = tbody.firstElementChild.cloneNode("true"); tbody.insertBefore(tr, tbody.lastChild)
})
let remove = document.getElementById("remove");
remove.addEventListener("click", function(){
let tbody = document.getElementById("addlist"); let tr = remove.parentNode.parentNode; tbody.removeChild(tr);
})
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/11/23 02:34