Javascriptで、Todoリストを作成しています。
Taskを追加した際に、自動で連番になるように実装したいのですが、
思った通りの動作ができません。色々調べて実装したのですが、これ以上積んでわからない状態です。
何方かアドバイスをお願いします。
1.期待する動作
タスクの追加した際に、IDの番号が表示され、連番になる
2. 現在の状況
タスクの追加した際に、IDの番号が表示されない
※下記のソースコードは引用テキストを雛形として参考にしています。
https://qiita.com/takeshi_104/items/3138195ba0c58e37b1c3
index.html <!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>課題③</title> </head> <body> <h1>TODOリスト</h1> <p class="radio"> <input type="radio" id="r1" name="list" value="1" checked><label for="r1">全て</label> <input type="radio" id="r2" name="list" value="2"><label for="r2">作業中</label> <input type="radio" id="r3" name="list" value="3"><label for="r3">完了</label> </p> <table> <thead> <tr> <th>ID</th> <th>コメント</th> <th>状態</th> </tr> </thead> <tbody id="list"> <tr> <td></td> </tr> </tbody> </table> <h2>新規タスクの追加</h2> <input type="text" id="newtask"> <button id="add">追加</button> <script src="main.js"></script> </body> </html>
main.js 'use strict'; { //値を読み取る const newtask = document.getElementById('newtask'); // 入力された値をリストに追加する const add = document.getElementById('add'); add.addEventListener('click',() => { if(newtask.value !=='') { // TODOリストに表示する const list = document.getElementById('list'); // div要素を作成 const wrapper = document.createElement('div'); wrapper.className = 'wrap'; const divone = document.createElement('div'); const divtwo = document.createElement('div'); // 作成した要素に追加 ① list.appendChild(wrapper); wrapper.appendChild(divone); wrapper.appendChild(divtwo); // p.button要素の作成 ② const p = document.createElement('p'); p.className = 'divonep'; const btnone = document.createElement('button'); btnone.innerHTML = '削除'; btnone.className = 'btnone'; const btntwo = document.createElement('button'); btntwo.innerHTML = '作業中'; btntwo.className = 'btntwo'; // ②を①に追加 wrapper.insertBefore(p, divone); wrapper.insertBefore(btnone, divtwo); wrapper.insertBefore(btntwo, btnone); // inputで読み取った値を表示 p.innerHTML = newtask.value; } }); }
回答1件
あなたの回答
tips
プレビュー