์ƒ์„ธ ์ปจํ…์ธ 

๋ณธ๋ฌธ ์ œ๋ชฉ

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ classList ๋กœ DOM์š”์†Œ์˜ ํด๋ž˜์Šค ์ด๋ฆ„ ๊ฐ€์ ธ์˜ค๊ธฐ

IT/Javascript

by J KIMS 2021. 1. 28. 11:28

๋ณธ๋ฌธ

๋ฐ˜์‘ํ˜•

๐Ÿ”ฅ className VS classList

 

ํˆฌ๋‘๋ฆฌ์ŠคํŠธ๋ฅผ ๋งŒ๋“œ๋Š” ํ”„๋กœ์ ํŠธ๋ฅผ ํ•˜๋Š” ์ค‘์—, DOM์š”์†Œ์˜ ํด๋ž˜์Šค ์ด๋ฆ„์„ ๊ฐ€์ ธ์˜ฌ ๋•Œ className๋ณด๋‹ค classList์˜ ๋ฉ”์„œ๋“œ๋ฅผ ์“ฐ๋Š” ๊ฒŒ ๋” ์ข‹๋‹ค๋Š” ํ”ผ๋“œ๋ฐฑ์„ ๋ฐ›์•˜๋‹ค. className์€ ์ „์ฒด class๋“ค์„ ํ•˜๋‚˜์˜ string์œผ๋กœ ๋ฐ˜ํ™˜ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋‚˜์ค‘์— ์ƒˆ๋กœ์šด css๊ฐ€ ์ถ”๊ฐ€๋˜๋ฉด ์›์น˜ ์•Š๋Š” ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์ด์œ ๋•Œ๋ฌธ์ด์—ˆ๋‹ค.

 

 

Element.classList - Web API | MDN

Element.classList๋Š” ์—˜๋ฆฌ๋จผํŠธ์˜ ํด๋ž˜์Šค ์†์„ฑ์˜ ์ปฌ๋ ‰์…˜์ธ ํ™œ์„ฑ DOMTokenList๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ์ฝ๊ธฐ ์ „์šฉ ํ”„๋กœํผํ‹ฐ์ด๋‹ค. classList ์‚ฌ์šฉ์€ ๊ณต๋ฐฑ์œผ๋กœ ๊ตฌ๋ถ„๋œ ๋ฌธ์ž์—ด์ธ element.className์„ ํ†ตํ•ด ์—˜๋ฆฌ๋จผํŠธ์˜ ํด๋ž˜์Šค ๋ชฉ

developer.mozilla.org

 

๊ทธ๋ž˜์„œ MDN์˜ classList ๋ฌธ์„œ๋ฅผ ์ฝ๋˜์ค‘ .item() ์ด๋ผ๋Š” ๋ฉ”์„œ๋“œ๊ฐ€ ์ ๋‹นํ•ด๋ณด์˜€๋‹ค.

 

Element.classList

  • Element.classList is a read-only property that returns a live DOMTokenList collection of the class attributes of the element. This can then be used to manipulate the class list.
  • Using classList is a convenient alternative to accessing an element's list of classes as a space-delimited string via element.className.
  • A DOMTokenList represting the contents of the element's class attribute.

 

๋ฉ”์„œ๋“œ 

  • item(Number) : ์ฝœ๋ ‰์…˜์˜ ์ธ๋ฑ์Šค๋ฅผ ์ด์šฉํ•˜์—ฌ ํด๋ž˜์Šค ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

 

์–ด๋–ค ์—˜๋ฆฌ๋จผํŠธ์˜ ํด๋ž˜์Šค๊ฐ€ ์—ฌ๋Ÿฌ๊ฐœ์ผ ๊ฒฝ์šฐ๋Š” ์ธ๋ฑ์Šค๋ฅผ ์ง€์ •ํ•ด์„œ ์›ํ•˜๋Š” ๊ฐ’๋งŒ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ ๊ฐ™๋‹ค. ์ง์ ‘ ์ฝ”๋“œ๋กœ ํ™•์ธํ•ด๋ณด์ž.

 

const className = target.className;
const className2 = target.classList.item(0);

console.log(className);
console.log(className2);

๊ฒฐ๊ณผ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

 

 

className์„ ์จ์„œ ๊ฐ’์„ ๊ฐ€์ ธ์˜ค๋ฉด ํ•ด๋‹น ์—˜๋ฆฌ๋จผํŠธ์˜ ํด๋ž˜์Šค ๊ฐ’ ์ „์ฒด๋ฅผ string์œผ๋กœ ๊ฐ€์ ธ์˜ค์ง€๋งŒ, classList.item()์„ ์ด์šฉํ•˜๋ฉด ์ธ๋ฑ์Šค๋กœ ์›ํ•˜๋Š” ๊ฐ’ ํ•˜๋‚˜๋ฅผ ์ง€์ •ํ•ด์„œ ๊ฐ€์ ธ์˜จ๋‹ค.

 

๋‚ด๊ฐ€ ์งœ๊ณ  ์žˆ๋˜ ์ฝ”๋“œ์—์„  all์ด๋ผ๋Š” ๊ฐ’๋งŒ ๊ฐ€์ ธ์˜ค๊ณ  ์‹ถ์—ˆ๊ธฐ ๋•Œ๋ฌธ์— classList์˜ ๋ฉ”์„œ๋“œ๋ฅผ ์“ฐ๋Š” ๊ฒŒ ๋” ์ ํ•ฉํ•ด๋ณด์ธ๋‹ค.

๋ฐ˜์‘ํ˜•

๊ด€๋ จ๊ธ€ ๋”๋ณด๊ธฐ

๋Œ“๊ธ€ ์˜์—ญ