LoginSignup
1
0

More than 1 year has passed since last update.

【JavaScript】JavaScriptでTodoリストを作成する

Last updated at Posted at 2022-02-07

はじめに

 本記事は、プログラミング初学者が、学習を進めていて疑問に思った点について調べた結果を備忘録も兼ねてまとめたものです。
 そのため、記事の内容に誤りが含まれている可能性があります。ご容赦ください。
 間違いを見つけた方は、お手数ですが、ご指摘いただけますと幸いです。

JavaScriptでTodoリスト

index.html
<!DOCTYPE html>
<html>

<head>
    <title>JSTodoList</title>
    <meta charset="UTF-8" />
</head>

<body>
  <!-- 追加フォーム -->
  <div class="input-area">
    <input id="add-text"  placeholder="TODOを入力" />
    <button id="add-button">追加</button>
  </div>
  <!-- 未完了一覧 -->
  <div class="incomplete-area">
    <p class="title">未完了のTODO</p>
    <ul id="incomplete-list">
      <li>
        <div class="list-row">
          <p>タスク</p>
          <button>完了</button>
          <button>削除</button>
        </div>
      </li>
      <li>
        <div class="list-row">
          <p>タスク</p>
          <button>完了</button>
          <button>削除</button>
        </div>
      </li>
    </ul>
  </div>
  <!-- 完了済み一覧 -->
  <div class="complete-area">
    <p class="title">完了したTODO</p>
    <ul>
      <li>
        <div class="list-row">
          <p>完了タスク</p>
          <button>戻す</button>
        </div>
      </li>
    </ul>
  </div>
    <script src="src/index.js">
    </script>
</body>

</html>
index.js
import "./styles.css";

const onClickAdd = () => {
  // 入力値を取得する
  const inputText = document.getElementById("add-text").value;
  // フォームを空にする
  document.getElementById("add-text").value = "";

  // divを生成
  const div = document.createElement("div");
  console.log(div);
  // <div></div>

  // クラス名を追加
  div.className = "list-row";
  console.log(div);
  // <div class="list-row"></div>

  // liタグ生成
  const li = document.createElement("li");
  console.log(li);
  // <li></li>
  // liの中にinputTextの内容を取得
  li.innerText = inputText;
  // <li>テスト</li>

  // divの子要素に各要素を設定する
  div.appendChild(li);
  /*
    <div class="list-row">
      <li>テスト</li>
    </div>
  */

  // 未完了リストにタスクを追加
  document.getElementById("incomplete-list").appendChild(div);
  // 未完了リストの一番下にフォームに入力した内容が表示される
};

// 追加ボタンをクリックした際にonClickAddを実行
document.getElementById("add-button").addEventListener("click", () => onClickAdd());

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0