OBJECT MODEL

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ด์šฉํ•ด ๋ธŒ๋ผ์šฐ์ €์˜ ๊ฐ์ฒดํ™”๋œ ๊ตฌ์„ฑ์š”์†Œ๋“ค์„ ์ œ์–ดํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด ๊ฐ์ฒด๋“ค์€ ์„œ๋กœ ๊ณ„์ธต์ ์ธ ๊ด€๊ณ„๋กœ ์ด๋ฃจ์–ด์ ธ์žˆ์œผ๋ฉฐ ํฐํ‹€์—์„œ BOM๊ณผ DOM์œผ๋กœ ๋ถ„๋ฅ˜ํ•  ์ˆ˜ ์žˆ๋‹ค.

BOM

BOM(Browser Object Model)์€ ์›น๋ธŒ๋ผ์šฐ์ €์˜ ์ฐฝ์ด๋‚˜ ํ”„๋ ˆ์ž„์„ ์ถ”์ƒํ™”ํ•˜์—ฌ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ ์œผ๋กœ ์ œ์–ดํ•  ์ˆ˜ ์žˆ๋„๋ก ์ œ๊ณตํ•ด์ฃผ๋Š” ์ˆ˜๋‹จ์ด๋‹ค. window ๊ฐ์ฒด์˜ ํ”„๋กœํผํ‹ฐ์™€ ๋ฉ”์†Œ๋“œ๋ฅผ ํ†ตํ•ด ์ œ์–ดํ•  ์ˆ˜ ์žˆ๋‹ค.

window ๊ฐ์ฒด

window ๊ฐ์ฒด๋Š” DOM์„ ํฌํ•จํ•œ ๋ธŒ๋ผ์šฐ์ €์˜ ์ฐฝ์„ ๋‚˜ํƒ€๋‚ธ๋‹ค. ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ๋ชจ๋“  ๊ฐ์ฒด, ์ „์—ญ ํ•จ์ˆ˜, ์ „์—ญ ๋ณ€์ˆ˜๋“ค์€ ์ž๋™์œผ๋กœ window๊ฐ์ฒด์˜ ํ”„๋กœํผํ‹ฐ๊ฐ€ ๋œ๋‹ค. window๊ฐ์ฒด์˜ ๋ฉ”์†Œ๋“œ๋Š” ์ „์—ญ ํ•จ์ˆ˜์ด๋ฉฐ, window ๊ฐ์ฒด์˜ ํ”„๋กœํผํ‹ฐ๋Š” ์ „์—ญ ๋ณ€์ˆ˜๊ฐ€ ๋œ๋‹ค. DOM์˜ ์š”์†Œ๋“ค๋„ ๋ชจ๋‘ window๊ฐ์ฒด์˜ ํ”„๋กœํผํ‹ฐ๊ฐ€ ๋œ๋‹ค. ECMAScript์˜ global ๊ฐ์ฒด๋Š” ํ˜ธ์ŠคํŠธ ํ™˜๊ฒฝ์— ๋”ฐ๋ผ ์ด๋ฆ„์ด ๋‹ค๋ฅด๊ณ , ์—ญํ• ์ด ๋‹ค๋ฅด๋‹ค. ์›น๋ธŒ๋ผ์šฐ์ €์—์„œ window ๊ฐ์ฒด๋Š” ECMAScript์˜ ์ „์—ญ๊ฐ์ฒด์ด๋ฉด์„œ ๋™์‹œ์— ์›น๋ธŒ๋ผ์šฐ์ €์˜ ์ฐฝ์ด๋‚˜ ํ”„๋ ˆ์ž„์„ ์ œ์–ดํ•˜๋Š” ์—ญํ• ์„ ํ•œ๋‹ค.

Location ๊ฐ์ฒด

Location ๊ฐ์ฒด๋Š” ๋ฌธ์„œ์˜ ์ฃผ์†Œ์™€ ๊ด€๋ จ๋œ ๊ฐ์ฒด๋กœ window ๊ฐ์ฒด์˜ ํ”„๋กœํผํ‹ฐ์ด๋‹ค. URL ๊ด€๋ จ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•ด์ค€๋‹ค.

Location ๊ฐ์ฒด ์†์„ฑ

href

์›น์‚ฌ์ดํŠธ ์ „์ฒด ์ฃผ์†Œ

protocal

ํ”„๋กœํ† ์ฝœ

hostname

ํ˜ธ์ŠคํŠธ๋ช…

pathname

ํ•ด๋‹น ์›น ๋ฌธ์„œ ๊ฒฝ๋กœ

hash

ํ•ด๋‹น ์›น๋ฌธ์„œ๋‚ด ํ‘œ์‹

ํ˜„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š” ์›น๋ธŒ๋ผ์šฐ์ €์˜ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•ด์ฃผ๋Š” ๊ฐ์ฒด์ด๋‹ค. ์ฃผ๋กœ ํ˜ธํ™˜์„ฑ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๋ธŒ๋ผ์šฐ์ €์˜ ์ข…๋ฅ˜, ๋ฒ„์ „์„ ํŒŒ์•…ํ•˜๋Š”๋ฐ ์‚ฌ์šฉํ•œ๋‹ค.

Navigator ๊ฐ์ฒด ์†์„ฑ

appCodeName

์›น๋ธŒ๋ผ์šฐ์ € ์ฝ”๋“œ์ด๋ฆ„

appName

์›น๋ธŒ๋ผ์šฐ์ €๋ช… (IE : Microsoft Internet Explorer, ํŒŒ์ด์–ดํญ์Šค, ํฌ๋กฌ : Nescape)

appVersion

์›น๋ธŒ๋ผ์šฐ์ € ๋ฒ„์ „

language

์›น๋ธŒ๋ผ์šฐ์ € ์‚ฌ์šฉ์–ธ์–ด

platform

๋ธŒ๋ผ์šฐ์ €๊ฐ€ ๋™์ž‘ํ•˜๊ณ  ์žˆ๋Š” ์šด์˜์ฒด์ œ์— ๋Œ€ํ•œ ์ •๋ณด

userAgent

์›น๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์„œ๋ฒ„์— ์ ‘์†ํ•  ๋•Œ ๋ธŒ๋ผ์šฐ์ €์˜ ์ข…๋ฅ˜, ๋ฒ„์ „, ์ฝ”๋“œ์ด๋ฆ„ ๋“ฑ ์„œ๋ฒ„์— ์ „๋‹ฌ๋˜๋Š” ๋ชจ๋“ ์ •๋ณด

plugins

ํ˜„์žฌ ์‹œ์Šคํ…œ์— ์„ค์น˜๋œ ํ”Œ๋Ÿฌ๊ทธ์ธ ์ •๋ณด

mimeTypes

์›น๋ธŒ๋ผ์šฐ์ €์—์„œ ์ง€์›ํ•˜๋Š” MIME ํ˜•์‹์— ๋Œ€ํ•œ ์ •๋ณด

DOM

DOM(Document Object Model), ๋ฌธ์„œ๊ฐ์ฒด๋ชจ๋ธ์€ HTML๋ฌธ์„œ๋‚˜ XML๋ฌธ์„œ์— ์ ‘๊ทผํ•˜๊ธฐ ์œ„ํ•œ ์ผ์ข…์˜ ์ธํ„ฐํŽ˜์ด์Šค์ด๋‹ค. ๋ฌธ์„œ ๋‚ด์˜ ๋ชจ๋“  ์š”์†Œ์˜ ๋ชฉ์ ๊ณผ ํŠน์ง•์„ ์ •์˜ํ•˜๊ณ , ๊ฐ๊ฐ์˜ ์š”์†Œ์— ์ ‘๊ทผํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•œ๋‹ค.

  • DOM์€ ์›น๋ธŒ๋ผ์šฐ์ €์˜ ๊ฐ์ฒด ์ง€ํ–ฅ ํ‘œํ˜„์ด๋ฉฐ, ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ด์šฉํ•ด ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.

  • DOM์€ ๋ธŒ๋ผ์šฐ์ € ํ™˜๊ฒฝ์— ๋”ฐ๋ผ ๋‹ค๋ฅด๊ฒŒ ๋™์ž‘ํ•  ์ˆ˜ ์žˆ๋‹ค.

DOM ์š”์†Œ ์„ ํƒ

  • tag name์„ ์ด์šฉํ•œ ์„ ํƒ

getElementsByTagName : tagname์„ ์ด์šฉํ•ด HTML์š”์†Œ ์„ ํƒ

item() ๋ฉ”์†Œ๋“œ๋Š” ํ•ด๋‹น HTML ๊ฐ์ฒด ์ง‘ํ•ฉ์—์„œ ์ „๋‹ฌ๋ฐ›์€ ์ธ๋ฑ์Šค์— ํ•ด๋‹นํ•˜๋Š” ์š”์†Œ๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

HTML ์š”์†Œ์˜ style property๋ฅผ ์ด์šฉํ•˜๋ฉด, ํ•ด๋‹น ์š”์†Œ์˜ CSS ์Šคํƒ€์ผ์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋‹ค.

  • id๋ฅผ ์ด์šฉํ•œ ์„ ํƒ

getElementById() : ์•„์ด๋””๋ฅผ ์ด์šฉํ•˜์—ฌ HTML ์š”์†Œ๋ฅผ ์„ ํƒ

์ด๋•Œ ํ•ด๋‹น ์•„์ด๋””๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ์š”์†Œ ์ค‘์—์„œ ์ฒซ ๋ฒˆ์งธ ์š”์†Œ ๋‹จ ํ•˜๋‚˜๋งŒ์„ ์„ ํƒํ•œ๋‹ค. ๊ทธ๋Ÿฌ๋ฏ€๋กœ ์—ฌ๋Ÿฌ ์š”์†Œ๋ฅผ ์„ ํƒํ•˜๊ณ  ์‹ถ์„ ๋•Œ๋Š” tagname์ด๋‚˜ class์™€ ๊ฐ™์€ ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•ด์•ผํ•œ๋‹ค.

  • Class๋ฅผ ์ด์šฉํ•œ ์„ ํƒ

getElementByClassName : ํด๋ž˜์Šค ์ด๋ฆ„์„ ์ด์šฉํ•˜์—ฌ HTML ์š”์†Œ ์„ ํƒ

  • CSS selector๋ฅผ ์ด์šฉํ•œ ์„ ํƒ

querySelectorAll() : CSS ์„ ํƒ์ž(์•„์ด๋””, ํด๋ž˜์Šค, ์†์„ฑ, ์†์„ฑ๊ฐ’ ๋“ฑ)๋ฅผ ์ด์šฉํ•˜์—ฌ HTML์š”์†Œ ์„ ํƒ

  • HTML ๊ฐ์ฒด ์ง‘ํ•ฉ(object collection)์„ ์ด์šฉํ•œ ์„ ํƒ

DOM ์š”์†Œ ๋‚ด์šฉ ๋ณ€๊ฒฝ

DOM์„ ์ด์šฉํ•˜์—ฌ DOM ์š”์†Œ์˜ ๋‚ด์šฉ(content)๋‚˜ ์†์„ฑ ๊ฐ’์„ ์†์‰ฝ๊ฒŒ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋‹ค.

DOM ์š”์†Œ์˜ ๋‚ด์šฉ์„ ๋ฐ”๊พธ๋Š” ๊ฐ€์žฅ ์‰ฌ์šด ๋ฐฉ๋ฒ•์€ innerHTML property ์ด์šฉํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ๋˜ํ•œ, DOM ์š”์†Œ์˜ ์†์„ฑ ์ด๋ฆ„์„ ์ด์šฉํ•˜๋ฉด ์†์„ฑ๊ฐ’์„ ๋ฐ”๋กœ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋‹ค.

HTML ์š”์†Œ์˜ ์†์„ฑ ์ด๋ฆ„์„ ์ด์šฉํ•˜์—ฌ ์†์„ฑ๊ฐ’์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋‹ค.

jQuery

jQuery๋Š” DOM์„ ๋‚ด๋ถ€์— ๊ฐ์ถ”๊ณ  ๋ณด๋‹ค ์‰ฝ๊ฒŒ ์›นํŽ˜์ด์ง€๋ฅผ ์กฐ์ž‘ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋•๋Š” ๋„๊ตฌ

Last updated

Was this helpful?