안녕하세요.
저번 글에서는 todo list를 만들게된 동기와 만들고나서 느낀점을 간단하게 적었습니다. 이제 본격적으로 제가 어떤 과정으로 todo list를 만들었는지 소개해 보겠습니다.
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="utf-8">
<title>TodoList</title>
<link href="./styles.css" rel="stylesheet">
</head>
<body>
<div class="title">
<h2>Todo List</h2>
</div>
<div class="input-box">
<input id="input" type="text" placeholder="할 일을 입력하세요."><button id="add">+</button>
</div>
<div class="list">
<ul id="to-do-list"></ul>
</div>
<script src="./index.js"></script>
</body>
</html>
const addBtn = document.querySelector('#add');
const ul = document.querySelector('#to-do-list');
const input = document.querySelector('#input');
function addTodo() {
const newTodo = input.value;
if (newTodo) {
const li = document.createElement('li');
li.classList.add('todo');
li.innerHTML = `<input value='${newTodo}' class="todo-input" readonly="true"></input>`;
ul.append(li);
}
function addTodoByEnter(e) {
if (e.key === 'Enter' && !e.shiftKey) {
addTodo();
e.preventDefault();
}
}
input.addEventListener('keypress', addTodoByEnter);
addBtn.addEventListener('click', addTodo);
느낀점
DOM트리 구조 파악의 중요성 및 선택자로 무엇을 선택할지에 대한 고민하는 단계가 꼭 필요하다고 생각합니다. 무작정 코드를 만들려고 접근하다보면 아직 익숙하지 않기 때문에 초보자의 경우 방향성을 잃게 되어 원하는 기능을 구현하지 못하게 됩니다. 단계별로 정리하는 것이 아주 중요한 과정
이라고 생각합니다.
배운점