๐Ÿ’ป Programming/JS, TS

[JavaScript] ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋กœ css ์Šคํƒ€์ผ ๋ณ€๊ฒฝํ•˜๊ธฐ

2024. 1. 13. 23:21
๋ชฉ์ฐจ
  1. DOM ์š”์†Œ์˜ ์Šคํƒ€์ผ ๋ณ€๊ฒฝ
  2. 1) className
  3. 2) classList

DOM ์š”์†Œ์˜ ์Šคํƒ€์ผ ๋ณ€๊ฒฝ

1) className

<form>
      <div class="control">
        <label for="product-name">Product Name</label>
        <input type="text" id="product-name" name="product-name" maxlength="60">
        <span id="charcount">
          <span id="remaining-chars">60</span>/60
        </span>
      </div>
      <button>Submit</button>
    </form>
input.warning {
  background-color: rgb(248, 191, 145);
}

#remaining-chars.warning {
  color:rgb(211, 109, 26);
}
const spanElement = document.getElementById('remaining-chars');

spanElement.className = 'warning';

 

element.className('some-class')๋กœ ํ•ด๋‹น ์š”์†Œ์— ํด๋ž˜์Šค๋ช…์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

  • className์œผ๋กœ css ํด๋ž˜์Šค ์ถ”๊ฐ€ํ•  ๋•Œ์˜ ๋‹จ์  : ์ด๋ฏธ ํด๋ž˜์Šค๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ์š”์†Œ์˜ ๊ฒฝ์šฐ, ํ•ด๋‹น ํด๋ž˜์Šค๊ฐ€ ์ƒˆ๋กœ์šด ํด๋ž˜์Šค๋กœ ๋ฎ์–ด์”Œ์–ด์ง„๋‹ค. ๊ธฐ์กด ํด๋ž˜์Šค์™€ ์ƒˆ๋กœ์šด ํด๋ž˜์Šค๋ฅผ ๊ฐ™์ด ์‚ฌ์šฉํ•˜๋ ค๋ฉด someElement.className = โ€˜old-class new-classโ€™์ฒ˜๋Ÿผ ๊ธฐ์กด ํด๋ž˜์Šค๋ช…์„ ์ฐพ์•„ ํ•˜๋“œ์ฝ”๋”ฉ์œผ๋กœ ์ถ”๊ฐ€ํ•ด์ฃผ์–ด์•ผ ํ•œ๋‹ค.

 

 

2) classList

classList ํ”„๋กœํผํ‹ฐ๋Š” ๋‹ค์–‘ํ•œ ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ, ์ด ๋ฉ”์„œ๋“œ๋“ค์„ ํ†ตํ•ด ์ƒˆ๋กœ์šด ํด๋ž˜์Šค๋ฅผ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜ ๊ธฐ์กด ํด๋ž˜์Šค๋ฅผ ์‚ญ์ œํ•˜์—ฌ className์˜ ๋ฐฉ๋ฒ•๋ณด๋‹ค ๋” ์‰ฝ๊ฒŒ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค.

 

spanElement.classList.add('add-class') // ํด๋ž˜์Šค๋ช… ์ถ”๊ฐ€, ๊ธฐ์กด์˜ ํด๋ž˜์Šค๊ฐ€ ์žˆ๋”๋ผ๋„ ๊ธฐ์กด ๊ฒƒ์„ ๋ฎ์–ด์“ฐ์ง€ ์•Š๊ณ  ์ƒˆ๋กญ๊ฒŒ ์ถ”๊ฐ€๋จ
spanElement.classList // ์š”์†Œ์˜ ํด๋ž˜์Šค๋ช…์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.
spanElement.classList.remove('add-class') // ํ•ด๋‹น ํด๋ž˜์Šค ์‚ญ์ œ, ์‚ญ์ œํ•œ ํด๋ž˜์Šค๋ฅผ ์ œ์™ธํ•œ ๋‚˜๋จธ์ง€ ํด๋ž˜์Šค๋Š” ๊ทธ๋Œ€๋กœ ๋‚จ์•„์žˆ๋‹ค.

 

์œ„์˜ ๊ฒฐ๊ณผ๋ฌผ

 

 

๋ฉ”์„œ๋“œ

  • add('class-name') : ์ง€์ •ํ•œ ํด๋ž˜์Šค ๊ฐ’์„ ์ถ”๊ฐ€ํ•œ๋‹ค. ๋งŒ์•ฝ ์ถ”๊ฐ€ํ•˜๋ ค๋Š” ํด๋ž˜์Šค๊ฐ€ ์š”์†Œ์˜ class ์†์„ฑ์— ์ด๋ฏธ ์กด์žฌํ•œ๋‹ค๋ฉด ๋ฌด์‹œํ•œ๋‹ค.
  • remove('class-name') : ์ง€์ •ํ•œ ํด๋ž˜์Šค ๊ฐ’์„ ์ œ๊ฑฐํ•œ๋‹ค. ์กด์žฌํ•˜์ง€ ์•Š๋Š” ํด๋ž˜์Šค๋ฅผ ์ œ๊ฑฐํ•˜๋ ค๋Š” ๊ฒฝ์šฐ ์—๋Ÿฌ๋ฅผ ๋ฐœ์ƒ์‹œํ‚ค์ง€ ์•Š๋Š”๋‹ค.
  • item(index-number) : ์ปฌ๋ ‰์…˜์˜ ์ธ๋ฑ์Šค๋ฅผ ์ด์šฉํ•˜์—ฌ ํด๋ž˜์Šค ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค.
  • toggle('first-class-name', 'second-class-name')
    • ํ•˜๋‚˜์˜ ์ธ์ˆ˜๋งŒ ์žˆ์„ ๋•Œ๋Š” ํด๋ž˜์Šค ๊ฐ’์„ ํ† ํด๋งํ•œ๋‹ค. ์ฆ‰, ํด๋ž˜์Šค๊ฐ€ ์กด์žฌํ•œ๋‹ค๋ฉด ์ œ๊ฑฐํ•˜๊ณ  false๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋ฉฐ, ์กด์žฌํ•˜์ง€ ์•Š์œผ๋ฉด ํด๋ž˜์Šค๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ  true๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.
    • ๋‘ ๋ฒˆ์งธ ์ธ์ˆ˜๊ฐ€ ์žˆ์„ ๋•Œ : ๋‘ ๋ฒˆ์งธ ์ธ์ˆ˜๊ฐ€ true๋กœ ํ‰๊ฐ€๋˜๋ฉด ์ง€์ •ํ•œ ํด๋ž˜์Šค ๊ฐ’์„ ์ถ”๊ฐ€ํ•˜๊ณ  false๋กœ ํ‰๊ฐ€๋˜๋ฉด ์ œ๊ฑฐํ•œ๋‹ค.
  • contains('class-name')
    • ์ง€์ •ํ•œ ํด๋ž˜์Šค ๊ฐ’์ด ์š”์†Œ์˜ class ์†์„ฑ์— ์กด์žฌํ•˜๋Š”์ง€ ํ™•์ธํ•œ๋‹ค.
  • replace('old-class', 'new-class')
    • ์กด์žฌํ•˜๋Š” ํด๋ž˜์Šค๋ฅผ ์ƒˆ๋กœ์šด ํด๋ž˜์Šค๋กœ ๊ต์ฒดํ•œ๋‹ค.

 

 

 

์ €์ž‘์žํ‘œ์‹œ (์ƒˆ์ฐฝ์—ด๋ฆผ)

'๐Ÿ’ป Programming > JS, TS' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[JavaScript] ์ด๋ฒคํŠธ ๊ฐ์ฒด  (0) 2024.01.13
[JavaScript] window&document ์ „์—ญ๊ฐ์ฒด์™€ DOM  (0) 2024.01.11
[JavaScript] slice vs splice vs split ์ฐจ์ด์   (0) 2023.08.08
[TypeScript] Map  (0) 2023.07.27
[JavaScript] ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋กœ ํฌ๋ฆฌ์Šค๋งˆ์Šค๊นŒ์ง€ ๋‚จ์€ ์‹œ๊ฐ„ ๊ณ„์‚ฐํ•˜๊ธฐ  (0) 2023.06.21
  1. DOM ์š”์†Œ์˜ ์Šคํƒ€์ผ ๋ณ€๊ฒฝ
  2. 1) className
  3. 2) classList
'๐Ÿ’ป Programming/JS, TS' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [JavaScript] ์ด๋ฒคํŠธ ๊ฐ์ฒด
  • [JavaScript] window&document ์ „์—ญ๊ฐ์ฒด์™€ DOM
  • [JavaScript] slice vs splice vs split ์ฐจ์ด์ 
  • [TypeScript] Map
Jiwon()
Jiwon()
Jiwon()
jiwondev.log
Jiwon()
์ „์ฒด
์˜ค๋Š˜
์–ด์ œ
  • ์ „์ฒด๋ณด๊ธฐ (86)
    • โœ๏ธ What I Learned (52)
      • TIL (41)
      • ํŠธ๋Ÿฌ๋ธ”์ŠˆํŒ… (8)
    • ๐Ÿ’ป Programming (31)
      • Algorithm (12)
      • React (1)
      • JS, TS (7)
      • HTML, CSS (7)
      • ๊ธฐํƒ€ (4)
    • ๐Ÿ–Š๏ธ ์ผ๊ธฐ (3)
      • ์ผ์ƒ๊ธฐ๋ก (2)

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

  • ํ™ˆ
  • ํƒœ๊ทธ
  • ๋ฐฉ๋ช…๋ก

๊ณต์ง€์‚ฌํ•ญ

์ธ๊ธฐ ๊ธ€

ํƒœ๊ทธ

  • slice
  • ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ
  • nextjs
  • ์ฝ”๋”ฉ
  • Next.js
  • Prisma
  • ChatGPT
  • reduxtoolkit
  • React
  • ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค
  • ํŠธ๋Ÿฌ๋ธ”์ŠˆํŒ…
  • TypeScript
  • tailwindcss
  • ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ
  • transition
  • Redux
  • HTML
  • ํ”„๋ก ํŠธ์—”๋“œ
  • Til
  • ์•Œ๊ณ ๋ฆฌ์ฆ˜
  • javascript
  • Firebase
  • css
  • ์›น๊ฐœ๋ฐœ
  • SSR
  • React-Hook-Form
  • recoil
  • ๋ฆฌ์•กํŠธ
  • ๋‚ด์ผ๋ฐฐ์›€์บ ํ”„
  • ํด๋ฆฐ์ฝ”๋“œ

์ตœ๊ทผ ๋Œ“๊ธ€

์ตœ๊ทผ ๊ธ€

hELLO ยท Designed By ์ •์ƒ์šฐ.
Jiwon()
[JavaScript] ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋กœ css ์Šคํƒ€์ผ ๋ณ€๊ฒฝํ•˜๊ธฐ
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”

๋‹จ์ถ•ํ‚ค

๋‚ด ๋ธ”๋กœ๊ทธ

๋‚ด ๋ธ”๋กœ๊ทธ - ๊ด€๋ฆฌ์ž ํ™ˆ ์ „ํ™˜
Q
Q
์ƒˆ ๊ธ€ ์“ฐ๊ธฐ
W
W

๋ธ”๋กœ๊ทธ ๊ฒŒ์‹œ๊ธ€

๊ธ€ ์ˆ˜์ • (๊ถŒํ•œ ์žˆ๋Š” ๊ฒฝ์šฐ)
E
E
๋Œ“๊ธ€ ์˜์—ญ์œผ๋กœ ์ด๋™
C
C

๋ชจ๋“  ์˜์—ญ

์ด ํŽ˜์ด์ง€์˜ URL ๋ณต์‚ฌ
S
S
๋งจ ์œ„๋กœ ์ด๋™
T
T
ํ‹ฐ์Šคํ† ๋ฆฌ ํ™ˆ ์ด๋™
H
H
๋‹จ์ถ•ํ‚ค ์•ˆ๋‚ด
Shift + /
โ‡ง + /

* ๋‹จ์ถ•ํ‚ค๋Š” ํ•œ๊ธ€/์˜๋ฌธ ๋Œ€์†Œ๋ฌธ์ž๋กœ ์ด์šฉ ๊ฐ€๋Šฅํ•˜๋ฉฐ, ํ‹ฐ์Šคํ† ๋ฆฌ ๊ธฐ๋ณธ ๋„๋ฉ”์ธ์—์„œ๋งŒ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค.