๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
RECORDS/Projects๐ŸŒด

DOM ์ง‘ํ•„ ํ”„๋กœ์ ํŠธ

by _wavy 2022. 10. 1.

<๋จธ๋ฆฌ๋ง ์ดˆ๊ณ >

Front-End ๊ฐœ๋ฐœ์ž๋ฅผ ์ง€๋งํ•˜๋Š” ์‚ฌ๋žŒ์ด๋ผ๋ฉด ํ•™์Šต์˜ ๊ธธ์—์„œ DOM์„ ํ•œ๋ฒˆ์ด๋ผ๋„ ๋งˆ์ฃผ์น˜์ง€ ์•Š์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. DOM์€ ๋ณด์ด๋Š” ์›นํŽ˜์ด์ง€์˜ ์žฌ๋ฃŒ๊ฐ€ ๋˜๋ฉฐ, ์›นํŽ˜์ด์ง€๋ฅผ JavaScript๋กœ ๋™์ž‘ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ํ•ต์‹ฌ์ž…๋‹ˆ๋‹ค. DOM์„ ์ œ๋Œ€๋กœ ์•„๋Š” ๊ฒƒ์€ Front-End ๊ฐœ๋ฐœ์ž์˜ ํฐ ๋ฌด๊ธฐ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.

๊ทธ๋ž˜์„œ ๊ฐœ๋ฐœ์ž๋ฅผ ๊ฟˆ๊พธ๋Š” ์šฐ๋ฆฌ๊ฐ€ ์—ฌ๊ธฐ ๋ชจ์—ฌ ์ด ์ฑ…์„ ์ผ์Šต๋‹ˆ๋‹ค. <DOM - ์žก์•˜๋‹ค, ์š” ๋”!>์€ ํ•™์Šต์ž์˜ ์ž…์žฅ์—์„œ ์˜†์ž๋ฆฌ์˜ ์นœ๊ตฌ๋ฅผ ์ดํ•ดํ•˜๋Š” ๋งˆ์Œ์œผ๋กœ ์จ๋‚ด๋ ค๊ฐ„ ์ฑ…์ž…๋‹ˆ๋‹ค.

์ด ์ฑ…์—๋Š” ์‹ค์šฉ๋„๋ฅผ ๊ณ ๋ คํ•ด ์ƒ๋žต๋œ ๋ถ€๋ถ„์ด ๋‹ค์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ์—„๋ฐ€ํ•œ ๊ธฐ์ค€์—์„œ ํ‹€๋ฆฐ ๋‚ด์šฉ์ด ๋‹ด๊ฒจ์žˆ์„ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์ฑ…์„ ์ฝ๊ณ  ์—ฌ๋Ÿฌ๋ถ„์ด DOM์— ๋Œ€ํ•œ ์•ฝ๊ฐ„์˜ ์ดํ•ด์™€ ๋งŽ์€ ์˜๋ฌธ์„ ์–ป๋Š”๋‹ค๋ฉด ๊ทธ๊ฒƒ์œผ๋กœ ์šฐ๋ฆฌ๋Š” ๋ฌด์ฒ™ ๊ธฐ์  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋ชจ์ชผ๋ก ์ด ์ฑ…์„ ์ดˆ์„์œผ๋กœ ์‚ผ์•„ ์—ฌ๋Ÿฌ๋ถ„์˜ ์ฃผ์ฒด์ ์ธ ํ•™์Šต์ด ์ด์–ด์ง€๊ธธ ๊ธฐ๋Œ€ํ•ฉ๋‹ˆ๋‹ค.

์ฑ…์ด ์ถœํŒ๋  ์ˆ˜ ์žˆ๋„๋ก ํž˜์จ์ฃผ์‹  ...

 

๋‹ด๋‹นํŒŒํŠธ Chapter 2. ํŠธ๋ฆฌ

1. ๋…ธ๋“œ
1.1. ๋…ธ๋“œ์˜ ๊ฐœ๋…
1.2. ๋…ธ๋“œ์˜ ์œ ํ˜•
1.2.1. ๋ฌธ์„œ ๋…ธ๋“œ(Document node)
1.2.2. ์š”์†Œ ๋…ธ๋“œ(Element node)
1.2.3. ์–ดํŠธ๋ฆฌ๋ทฐํŠธ ๋…ธ๋“œ(Attribute node)
1.2.4. ํ…์ŠคํŠธ ๋…ธ๋“œ(Text node)
1.2.5. ๋…ธ๋“œ ์œ ํ˜• ์‹๋ณ„
2. DOM ํŠธ๋ฆฌ
2.1. DOM ํŠธ๋ฆฌ์˜ ๊ฐœ๋…
2.1.1. ํŠธ๋ฆฌ ์ž๋ฃŒ๊ตฌ์กฐ
2.2. DOM๊ณผ BOM
2.3. ํŠธ๋ฆฌ ๊ตฌ์กฐ ์‹ค์Šต
3. ๋…ธ๋“œ ์ทจ๋“ / ์ปฌ๋ ‰์…˜ ๊ฐ์ฒด
3.1. DOM ๊ตฌ์กฐ์— ์ ‘๊ทผํ•˜๊ธฐ
3.2. ์š”์†Œ ๋…ธ๋“œ๋ฅผ ์ทจ๋“ํ•˜๋Š” ๋ฐฉ๋ฒ•
3.2.1. ID๋กœ HTML ์š”์†Œ ์ฐพ๊ธฐ
3.2.2 ํƒœ๊ทธ ์ด๋ฆ„์œผ๋กœ HTML ์š”์†Œ ์ฐพ๊ธฐ
3.2.3 Class๋กœ HTML ์š”์†Œ ์ฐพ๊ธฐ
3.2.4. CSS ์„ ํƒ์ž๋กœ HTML ์š”์†Œ ์ฐพ๊ธฐ
3.3. DOM ์ปฌ๋ ‰์…˜
3.3.1. ํŠน์ง•
3.3.2. HTMLCollection
3.3.3. NodeList
4. ๋…ธ๋“œ ํƒ์ƒ‰
4.1. ๋…ธ๋“œ ํƒ์ƒ‰์˜ ๊ฐœ๋…
4.1.1. ๋…ธ๋“œ ํƒ์ƒ‰์˜ ํ•„์š”์„ฑ
4.1.2. ๊ณต๋ฐฑ ํ…์ŠคํŠธ ๋…ธ๋“œ
4.2. ๋…ธ๋“œ ํƒ์ƒ‰ ํ”„๋กœํผํ‹ฐ
4.2.1 ๋ถ€๋ชจ ๋…ธ๋“œ ํƒ์ƒ‰
4.2.2. ์ž์‹ ๋…ธ๋“œ ํƒ์ƒ‰
4.2.3. ํ˜•์ œ ๋…ธ๋“œ ํƒ์ƒ‰
5. ๋…ธ๋“œ ์กฐ์ž‘
5.1. DOM ์กฐ์ž‘
5.2. ์š”์†Œ ๋…ธ๋“œ์˜ ํ…์ŠคํŠธ ์กฐ์ž‘ (์š”์†Œ์˜ ๋‚ด์šฉ์„ ๊ฐ€์ ธ์˜ค๊ธฐ/์ˆ˜์ •ํ•˜๊ธฐ)
5.2.1. nodeValue
5.2.2. textContent
5.2.3. textContent์™€ ์œ ์‚ฌํ•œ innerText
5.3. HTML ์ฝ˜ํ…์ธ  ์ถ”๊ฐ€/์ œ๊ฑฐ
5.3.1. innerHTML
5.3.2. DOM ์ง์ ‘ ์กฐ์ž‘ํ•˜๊ธฐ
5.3.2.1. ๋…ธ๋“œ ์ƒ์„ฑ/์ถ”๊ฐ€
5.3.2.2. ๋…ธ๋“œ ์‚ฝ์ž… ๋ฐ ์ด๋™
5.3.2.3. ๋…ธ๋“œ ๋ณต์ œ
5.3.2.4. ๋…ธ๋“œ ๊ต์ฒด ๋ฐ ์ œ๊ฑฐ

 

https://ridibooks.com/books/2773000061

 

๋ชฉ์ฐจ๋งŒ ๋ณด๊ณ ๋„ ๊ธฐ๊ฐ€ ์งˆ๋ฆฌ๋Š” ใ…Žใ…Ž ์ง‘ํ•„ ๋• ์ฒด๋ ฅ์ด ๋‹ฌ๋ฆด ๋•Œ๋ผ ์—„์ฒญ ํž˜๋“ค์—ˆ๋Š”๋ฐ ์ „์ž์ฑ…์œผ๋กœ ๋‚˜์˜จ ๊ฒƒ์„ ๋ณด๋‹ˆ ๋˜ ๋ฟŒ๋“ฏํ•˜๊ณ  ๊ทธ๋ ‡๋‹ค. ๊ธ€ ์“ฐ๋Š” ๊ฒƒ๋„ ๊ณต๋ถ€ํ•˜๋Š” ๊ฒƒ๋„ ์žฌ๋ฐŒ์–ด์„œ ์ง‘ํ•„ ๋˜ ํ•˜๊ณ  ์‹ถ๋‹ค. ๋Œ€์‹  ์ด๋ฒˆ์—” ํ˜ผ์ž์„œ... ใ…‹ใ…‹ใ…‹ใ…‹ใ…‹ใ…‹ใ…‹ใ…‹

๋Œ“๊ธ€