์๋์ ์์ ๋ HTMLํ์ผ์ ์กด์ฌํ๋ <span>
ํ๊ทธ ์์ JavaScript๋ก <p>
ํ๊ทธ๋ฅผ ๋ง๋ค์ด ๋ฃ์ด์ฃผ๊ณ ์์ต๋๋ค. ๋ํ, <p>
ํ๊ทธ์ ์คํ์ผ์ ์กฐ์ ํด์ฃผ๊ธฐ ์ํด JavaScript๋ก class๋ฅผ ๋ฃ์ด ์คํ์ผ์ ์ง์ ํด์ฃผ์์ต๋๋ค.
์ด ๋, class๋ฅผ ์ถ๊ฐํด์ฃผ๋ ๋ฐฉ์์ผ๋ก className
๊ณผ classList
๊ฐ ์๋ค๋ ๊ฒ์ ์๊ฒ๋์์ต๋๋ค. ๊ทธ๋์ ์ค๋์ className
๊ณผ classList
์ ๋ํ ํฌ์คํ
์ ํ๋ฉฐ ์ด ๋์ ์ฐจ์ด์ ์ ์ ๋ฆฌํด๋๊ณ ์ ํฉ๋๋ค๐
className
๊ณผ classList
๋ class๋ฅผ ๊ด๋ฆฌํด์ฃผ๋ DOM ํ๋กํผํฐ์
๋๋ค. className
์ class ์ ์ฒด๋ฅผ ๊ด๋ฆฌํ ๋, classList
๋ ๊ฐ๋ณ class๋ฅผ ๊ด๋ฆฌํ ๋ ํธ๋ฆฌํฉ๋๋ค.
๐๐ปโโ๏ธ
className
์ ํด๋น ์์์ ์ง์ ๋ class๊ฐ์ ์๋ฏธํฉ๋๋ค. ํ์ง๋งclassName
๋ ๋ฌด์ธ๊ฐ๋ฅผ ๋์ ํ๋ฉด class ์ ์ฒด๊ฐ ๋ฐ๋์ด๋ฒ๋ฆฌ์ฃ . ํด๋์ค ํ๋๋ง ์กฐ์ํ๊ณ ์ถ์ ๋ ์ฌ์ฉํ๊ณ ์ถ์ ๋ ์ฌ์ฉํ ์ ์์ต๋๋ค.
๐๐ปโโ๏ธ ๋ฐ๋ฉด์classList
๋ JavaScript์์ ๋ ธ๋์ ํด๋์ค๋ฅผ ๋ค๋ฃฐ ์ ์๋๋ก ์ ๊ณต๋๋ ๊ธฐ๋ฅ์ด์์. ํด๋์ค๋ฅผ ํ๋๋ง ์กฐ์ํ ์ ์์ผ๋ฉฐadd
,remove
,contains
,toggle
๋ฑ์ ํจ์๋ฅผ ์ฌ์ฉํ ์ ์์ฃ !
className
์ ํน์ ์์์ class ์ด๋ฆ์ ๋ฌธ์์ด๋ก returnํฉ๋๋ค.
element.className;
element.className = '์ด๋ฆ';
classList
๋ ์ฝ๊ธฐ ์ ์ฉ ํ๋กํผํฐ์ด๋ฉฐ, className
์ ํตํด class์ ์ ๊ทผํ๋ ๋ฐฉ์์ ๋์ฒดํ๋ ๊ฐํธํ ๋ฐฉ๋ฒ์
๋๋ค.
// class ์ด๋ฆ ์ฝ๊ธฐ
element.classList;
// class item ํ๋์น ์ฝ๊ธฐ
element.classList.item(index);
element.classList.add('์ด๋ฆ');
๐๐ป ์ฌ๊ธฐ์ ์ ๊น! className๊ณผ ๋ค๋ฅธ์
className
์ ์ถ๊ฐํ๋ ค๋ ํด๋์ค๊ฐ ์ด๋ฏธ ์์ด๋ ์ค๋ณตํ์ฌ ์ถ๊ฐํฉ๋๋ค.- ๋ฐ๋ฉด์ ์์ ๊ฐ์ด
classList.add
๋ก ์ถ๊ฐํ ๊ฒฝ์ฐ์ ๋ฌ๋ผ์. ์ถ๊ฐํ๋ ค๋ ํด๋์ค๊ฐ ์ด๋ฏธ class ์์ฑ์ ํฌํจ๋์ด ์๋ค๋ฉด ํด๋น ํด๋์ค๋ฅผ ์ค๋ณตํ์ฌ ์ถ๊ฐํ์ง ์์์!
element.classList.remove('์ด๋ฆ');
// ์กด์ฌํ๋ฉด true, ์กด์ฌํ์ง ์์ผ๋ฉด false ๋ฐํ
element.classList.contains('์ด๋ฆ');
// ์กด์ฌํ๋ฉด class ์ ๊ฑฐ, ์กด์ฌํ์ง ์์ผ๋ฉด class ์ถ๊ฐ
element.classList.toggle('์ด๋ฆ');
element.classList.replace('์ด๋ฆ');
์ฒ์์ ์๋์ ์์ ๋ก ์ธํด className
๊ณผ classList
์ ๋ํ ๊ถ๊ธ์ฆ์ด ์๊ฒผ์์ต๋๋ค. ์ด์ ๋ํด ๊ณต๋ถํ๊ณ ๋ค์๋ณด๋, ์๋๋ ๊ฐ๋จํ ์์ ๋ผ์ ๊ฐ๋ณ ํด๋์ค๋ง์ ์กฐ์ํด์ฃผ๊ณ ์์ด์. ๋ฐ๋ผ์, classList
๊ฐ ์๋ className
์ ์ฌ์ฉํด๋ ๋ฌธ์ ๋์ง ์์ ๊ฒ ๊ฐ๋ค์! ๋ง์ฝ ๋ ๋ค์ํ ํด๋์ค๋ฅผ ์กฐ์ํด์ฃผ๋ ์ํฉ์ด ์๊ธด๋ค๋ฉด classList
๋ฅผ ์ฐ๋ฉด ๋๊ฒ ์ต๋๋ค.
๋ชจ๋์๋ฐ์คํฌ๋ฆฝํธ ํํ ๋ฆฌ์ผ, ์คํ์ผ๊ณผ ํด๋์ค
MDN, className
MDN, classList
๊ธ ์๋ณด๊ณ ๊ฐ๋๋ค!