###質問したいこと:JavaScriptでボタンを押すとテーブルが作られそれぞれのtdタグごとに違う内容を表示したい。
現在、Todoアプリの実装のための練習として、ボタンを押すと、(1)ボタンを押した回数の数値(2)未完了と書かれたボタン(3)削除と書かれたボタン、の以上3つをそれぞれtdタグに入れるプログラムを実装しようとしています。
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> </head> <body> <button>増えるよ</button> <div id="hoge"></div> <script> let i = 1; let table = document.createElement("table"); table.setAttribute("border", 1) document.body.appendChild(table); btn = document.querySelector("button"); btn.addEventListener("click", increaseTbl); function increaseTbl() { let tr = document.createElement("tr"); table.appendChild(tr); for (let j = 0; j < 3; j++) { let td = document.createElement("td"); tr.appendChild(td); switch (j) { case 0: td.textContent = "<button>hoge</button>"; console.log(i); td.setAttribute("id", "cont" + i); case 1: td.innerHTML = "<button>未完了</button>"; td.setAttribute("id", "comp" + i); break; case 2: td.innerHTML = "<button>削除</button>"; td.setAttribute("id", "del" + i); } } i++; } </script> </body> </html>
上記の<script></script>の中のswitchを用いて3つのtdそれぞれに適した内容を入れ込もうとしているのですが、どうしても一つ目のtdにも<button>未完了</button>およびid = "comp" + i の方が入ってします。(2つ目のtdと同じ内容が入ってしまう。)
これの原因は何なのでしょうか。
どなたかご教示お願いします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/12/04 23:20 編集