- ToDoアプリ 2日目のゴール
- 今日やることをざっくり整理する
- 2日目のHTML(1日目からの続き)
- ToDoを「オブジェクト」で表現する
- ToDo一覧を「配列」で管理する
- DOM要素を querySelector() で取得する
- 「配列からDOMを描画する」関数を作る
- ToDoを追加する関数を作る
- ToDoを削除する関数を作る
- 完了状態を切り替える関数を作る
- dataset と IDのつながりをもう一度確認する
- querySelectorAll() を使って「全部完了」機能を作る
- 2日目の完成コード(全体)
- 2日目で本当に掴んでほしいこと
- ToDoアプリ 3日目のゴール
- 3日目でやることの全体像
- 3日目のHTML構成
- 配列と状態の定義(2日目の復習+3日目の土台)
- DOM要素を querySelector() で取得する
- 配列から画面を描画する関数(フィルタ対応版)
- ToDoを追加する関数と「追加」ボタンのイベント
- 完了状態を切り替える関数
- ToDoを削除する関数(event.target+closest+dataset版)
- フィルタボタンのイベント(未完了だけ表示/全部表示)
- 「全部完了にする」ボタンのイベント
- 3日目の完成コード(全体)
- 3日目で本当に掴んでほしいこと
- ToDoアプリ 4日目のゴール
- 今日やることの全体像
- 4日目のHTML構成
- 配列と状態の定義
- DOM要素を querySelector() で取得する
- 配列から画面を描画する関数(編集ボタン付き)
- ToDoのテキストを更新する関数
- ToDoを追加する関数と「追加」ボタンのイベント
- 完了状態を切り替える関数
- ToDoを削除する関数
- フィルタボタンのイベント
- 「全部完了にする」ボタンのイベント
- 4日目の完成コード(全体)
- 4日目で本当に掴んでほしいこと
- ToDoアプリ 5日目のゴール
- 今日やることの全体像
- 5日目のHTML構成
- 配列と状態の定義(作成日時+並び順モード)
- DOM要素を querySelector() / querySelectorAll() で取得する
- ToDoを追加する関数(作成日時付き)
- 配列から画面を描画する関数(フィルタ+並び替え対応)
- ToDoのテキストを更新する関数
- 完了状態を切り替える関数
- ToDoを削除する関数
- 「追加」ボタンのイベント
- フィルタボタンのイベント
- 「全部完了にする」ボタンのイベント
- 並び順ボタンのイベント(querySelectorAll+dataset+classList)
- 5日目の完成コード(全体)
- 5日目で本当に掴んでほしいこと
- ToDoアプリ 6日目のゴール
- 今日やることの全体像
- localStorage のイメージをつかむ
- 6日目のHTML構成
- 配列と状態の定義(保存を意識する)
- DOM要素を querySelector() / querySelectorAll() で取得する
- 保存関数:配列を localStorage に書き込む
- 読み込み関数:localStorage から配列を復元する
- 配列から画面を描画する関数(フィルタ+並び替え+編集付き)
- ToDoを追加する関数(保存付き)
- ToDoのテキストを更新する関数
- ToDoを削除する関数(保存付き)
- 完了状態を切り替える関数(保存付き)
- 「追加」ボタンのイベント
- フィルタボタンのイベント
- 「全部完了にする」ボタンのイベント(保存付き)
- 並び順ボタンのイベント
- ページ読み込み時の処理:保存データを読み込んでから描画
- 6日目の完成コード(全体)
- 6日目で本当に掴んでほしいこと
- ToDoアプリ 7日目のゴール
- 今日やることの全体像
- コードの役割を分けて考える
- 7日目のHTML構成
- 完成版コード:役割ごとに整理したToDoアプリ
- ストレージ関連の関数
- 描画関数:状態からDOMを作る
- 操作ロジック:状態を変える関数たち
- イベント設定:ユーザー操作とロジックをつなぐ
- 初期処理:保存データを読み込んでから描画
- 7日目の完成コード(全体)
- 7日目で本当に掴んでほしいこと
ToDoアプリ 2日目のゴール
2日目のテーマは 「ToDoを“配列+オブジェクト”で管理しながら、DOMを通して表示・操作する」 ことです。
1日目では、
- 入力欄からテキストを取り出す
createElement()とappend()で<li>を追加するremove()で削除するclassListで完了状態を切り替えるdatasetでIDを持たせる
という「DOMを直接いじる」感覚をつかみました。
2日目では、そこに
- 配列でToDo一覧を管理する
- オブジェクトで1件のToDoを表現する
- 配列とDOMを同期させる(配列を元に画面を描画する)
という要素を加えていきます。
今日やることをざっくり整理する
2日目のステップはこんな流れです。
- ToDoをオブジェクトで表現する
{ id, text, done }のような形
- ToDo一覧を配列で管理する
const todos = [];
- 「配列からDOMを描画する」関数を作る
renderTodos(todos)のような関数
- 追加・削除・完了切り替えを「配列を更新 → 再描画」という流れにする
querySelector()/querySelectorAll()/addEventListener()/createElement()/append()/remove()/classList/datasetを 「配列管理と組み合わせて」もう一度体に入れる

