자바스크립트

createElement에 대하여

하늘하늘 . 2020. 6. 22. 17:31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
let a = document.createElement("li");
 
for (let i = 0; i < 5; i++) {
  a.textContent = i;
  document.body.appendChild(a);
} // 4
 
for (let i = 0; i < 5; i++) {
  let b = document.createElement("li");
  b.textContent = i;
  document.body.appendChild(b);
} // 0 1 2 3 4
 
cs

 

처음에는 첫번째로 만들어 놓고 두번째처럼 출력이 안되서 왜 안되는 걸까 싶었다.

정말 너무 간단한 이야기였지만 나한테는 너무 당황스러웠고 왜 안되는 건가 싶어서 여기저기 찾아봤지만...

너무 간단한 문제였다.

 

단지 하나를 선언했는가 여러개를 선언했는가의 문제였다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
let a = document.createElement("li");
a.textContent = 0;
document.body.appendChild(a);
a.textContent = 1;
document.body.appendChild(a);
a.textContent = 2;
document.body.appendChild(a);
a.textContent = 3;
document.body.appendChild(a);
a.textContent = 4;
document.body.appendChild(a);
 
let b = document.createElement("li");
b.textContent = 0;
document.body.appendChild(b);
let b = document.createElement("li");
b.textContent = 1;
document.body.appendChild(b);
let b = document.createElement("li");
b.textContent = 2;
document.body.appendChild(b);
let b = document.createElement("li");
b.textContent = 3;
document.body.appendChild(b);
let b = document.createElement("li");
b.textContent = 4;
document.body.appendChild(b);
 
cs

늘여서 쓰면 이렇게 된다.

createElement 즉 li를 하나만 선언을 해놨기 때문에 하나만 나왔던 것이다.