[JavaScript] classList ν”„λ‘œνΌν‹°
728x90

classList

DOM을 μ‘°μž‘ν•˜μ—¬ 클래슀λ₯Ό μΆ”κ°€ν•˜κ±°λ‚˜ μ‚­μ œν•  λ•Œ, class λͺ…을 λ°”κΏ€ λ•Œ λ“± λ‹€μ–‘ν•œ 상황에 μ‚¬μš©ν•  수 μžˆλŠ” classList ν”„λ‘œνΌν‹°.
μ±Œλ¦°μ§€λ₯Ό μ§„ν–‰ν•˜λ‹€ classList ν”„λ‘œνΌν‹° 쀑 극히 μΌλΆ€μ˜ λ©”μ„œλ“œλ§Œ μ‚¬μš©ν•˜κ³  μžˆμ—ˆλ‹€λŠ” 것을 κΉ¨λ‹¬μ•˜λ‹€.
상황에 따라 μ½”λ“œλ₯Ό 더 κΉ”λ”ν•˜κ²Œ 지 수 μžˆλŠ” λ©”μ„œλ“œλ„ 있고 ν•΄μ„œ, μ „μ²΄μ μœΌλ‘œ μ–΄λ–€ λ©”μ„œλ“œκ°€ μžˆλŠ”μ§€ ν•œλ²ˆ 훑어보렀 ν•œλ‹€.

 

 

add, remove

ν‰μ†Œ μ‚¬μš©ν–ˆλ˜ μΌλΆ€μ˜ λ©”μ„œλ“œ.. κ°€μž₯ κ°„νŽΈν•΄μ„œ κ·ΈλŸ°μ§€ 기얡에 였래 λ‚¨μ•„μžˆλŠ” 것인가 싢기도 ν•˜λ‹€. πŸ€”

μ•„λž˜μ™€ 같이 κ°„λ‹¨ν•œ μ˜ˆμ‹œλ₯Ό λ“€ 수 μžˆλ‹€.
λ©”μ†Œλ“œ μ΄λ¦„λŒ€λ‘œ, 클래슀λ₯Ό μΆ”κ°€ν•˜κ³  μ œκ±°ν•˜λŠ” λ©”μ„œλ“œλ‹€. μ—¬λŸ¬ 개λ₯Ό λ‚˜μ—΄ν•  μˆ˜λ„ μžˆλ‹€.

 let li = document.createElement('li');
 li.classList.add('user-item');
 li.classList.remove('active');

 

toggle

DOM μ‘°μž‘μ„ ν•˜λ©΄μ„œ ν™œμ„±ν™” λ˜μ—ˆμ„ λ•Œλ§Œ μΆ”κ°€λ˜λŠ” ν΄λž˜μŠ€κ°€ μžˆλ‹€λ˜κ°€ ν•˜λŠ” κ²½μš°μ—λŠ” toggle을 톡해 클래슀의 μΆ”κ°€ μ‚­μ œλ₯Ό μ œμ–΄ν•  수 μžˆλ‹€.

function openToggle() {
  this.classList.toggle('is-active');
}

 

 

contain

λ§€κ°œλ³€μˆ˜μ˜ 값이 클래슀 쀑에 μ‘΄μž¬ν•˜λŠ”μ§€ 확인할 수 μžˆλ‹€. true ν˜Ήμ€ false둜 값을 λ°˜ν™˜ν•œλ‹€.
ν΄λž˜μŠ€κ°€ μ—†λ‹€λ©΄ μΆ”κ°€ν•˜κ±°λ‚˜ ν΄λž˜μŠ€κ°€ μ—†λ‹€λ©΄ μ‚­μ œν•˜λŠ” κ²½μš°μ— μœ μš©ν•˜κ²Œ 쓰일 것 κ°™λ‹€.

const div = document.createElement('div');
console.log(div.classList.contains('text'));

 

items

μ½œλ ‰μ…˜μ˜ 인덱슀λ₯Ό μ΄μš©ν•΄μ„œ μΈλ±μŠ€μ— ν•΄λ‹Ήν•˜λŠ” 클래슀 값을 λ°˜ν™˜ν•œλ‹€.

See the Pen classList1 by YJ LEE (@yujleee) on CodePen.

 

 

 

replace

κΈ°μ‘΄ 클래슀λ₯Ό μƒˆλ‘œμš΄ 클래슀둜 κ΅μ²΄ν•œλ‹€.
같은 κΈ°λŠ₯을 ν•˜μ§€λ§Œ 값에 따라 μŠ€νƒ€μΌμ΄ λ‹€λ₯Έ κ²½μš°μ— μœ μš©ν•  것 κ°™λ‹€.

See the Pen classList2 by YJ LEE (@yujleee) on CodePen.

 

 

μ°Έκ³ 

https://developer.mozilla.org/ko/docs/Web/API/Element/classList

 

728x90