今回は、第二週目に学んだ内容を復習し、実践的な例を使って理解を深めましょう。
今日実践してもらうプログラムはこんな感じです。
ToDoリスト
目次
第2週目の復習
まず、第2週の復習です。
今週の学習ポイントは以下の通りです。
DOMの概念とツリー構造
					あわせて読みたい
					
			
						完全無料のJavaScript学習講座 7日目:DOMの概念とツリー構造
						今日の記事では、「DOMの概念とツリー構造」について学びます。 これらの概念を理解することで、JavaScriptを使ってウェブページの要素を効果的に操作したり、動的なコ...					
				DOM要素の選択方法
					あわせて読みたい
					
			
						完全無料のJavaScript学習講座 8日目:DOM要素の選択
						前回の授業でDOMとそのツリー構造について学びましたね。 今回は、DOMの要素を選択する方法を学んでいきます。 DOMの要素を選択する方法マスターすることで、ウェブペー...					
				DOM要素の属性とスタイルの操作
					あわせて読みたい
					
			
						完全無料のJavaScript学習講座 9日目:DOM要素の属性とスタイルの操作
						今回の授業では、JavaScriptを用いてHTML要素の属性やスタイルを簡単に操作する方法を解説します。 DOM要素の属性とスタイル操作を習得することで、ウェブページの見た...					
				DOM要素の追加、削除、変更
					あわせて読みたい
					
			
						完全無料のJavaScript学習講座 10日目:DOM要素の追加、削除、変更
						今日の授業では、ウェブページ上でDOM要素の追加、削除、変更を行う方法を学びます。 これらのスキルを身につけることで、ウェブページの動的な操作が可能になり、アコ...					
				イベントリスナーとイベントハンドリング
					あわせて読みたい
					
			
						完全無料のJavaScript学習講座 11日目:イベントリスナーとイベントハンドリング
						イベントとは まず、イベントとは、ユーザーがウェブページで何か操作を行ったとき(例えば、ボタンをクリックしたり、マウスを乗せたり、キーを押したり)に起こる動作...					
				実践
次に、実践的な例を用いて学んだ内容を使ってみましょう。
今回は、シンプルなToDoリストアプリを作成してみます。
- HTMLファイルに、入力欄(テキストボックス)、追加ボタン、ToDoリストを表示する領域を作成します。
- JavaScriptで、追加ボタンがクリックされたときにイベントリスナーを登録し、入力欄の内容を取得します。
- 入力欄の内容をToDoリストに追加するため、新しい要素(li要素)を作成し、そのテキストに入力内容を設定します。
- ToDoリストの表示領域に新しい要素を追加します。
プログラムコード
<!DOCTYPE html>
<html lang="ja">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>シンプルなToDoリスト</title>
  <style>
    #simpleTodoApp {
      font-family: Arial, sans-serif;
      max-width: 600px;
      margin: auto;
    }
    #simpleTodoApp input, #simpleTodoApp button {
      font-size: 1.2em;
    }
    #simpleTodoApp ul {
      padding: 0;
    }
    #simpleTodoApp li {
      list-style-type: none;
      font-size: 1.2em;
      margin: 5px 0;
    }
    #simpleTodoApp .completed {
      text-decoration: line-through;
    }
  </style>
</head>
<body>
  <div id="simpleTodoApp">
    <h1>ToDoリスト</h1>
    <input type="text" id="todoInput" placeholder="タスクを入力してください">
    <button id="addButton">追加</button>
    <ul id="todoList"></ul>
  </div>
  <script>
    // 第2週3日目のDOM操作の基本
    const addButton = document.getElementById('addButton');
    const todoInput = document.getElementById('todoInput');
    const todoList = document.getElementById('todoList');
    // 第2週5日目のイベントリスナーとイベントハンドリング
    addButton.addEventListener('click', () => {
      const task = todoInput.value; // 入力されたタスクを取得
      if (task === "") {
        alert("タスクを入力してください");
        return;
      }
      // 第2週4日目のDOM要素の追加
      const listItem = document.createElement('li');
      listItem.textContent = task;
      // チェックボックスを作成し、li要素に追加
      const checkbox = document.createElement('input');
      checkbox.type = 'checkbox';
      listItem.prepend(checkbox);
      // チェックボックスがクリックされた時の処理
      checkbox.addEventListener('change', () => {
        if (checkbox.checked) {
          listItem.classList.add('completed');
        } else {
          listItem.classList.remove('completed');
        }
      });
      todoList.appendChild(listItem);
      todoInput.value = "";
    });
  </script>
</body>
</html>
まとめ
かなり難しくなってきましたね。
学んだ内容を使って動くプログラムを作ることができれば、今後更に複雑になってくる学習にもついていけるはずです。
知るだけじゃなく、学んだ内容を活かしたいろんなプログラムを作ってみてください。
