OBJECT MODEL
Last updated
Last updated
์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ์ด์ฉํด ๋ธ๋ผ์ฐ์ ์ ๊ฐ์ฒดํ๋ ๊ตฌ์ฑ์์๋ค์ ์ ์ดํ ์ ์๋ค. ์ด ๊ฐ์ฒด๋ค์ ์๋ก ๊ณ์ธต์ ์ธ ๊ด๊ณ๋ก ์ด๋ฃจ์ด์ ธ์์ผ๋ฉฐ ํฐํ์์ BOM๊ณผ DOM์ผ๋ก ๋ถ๋ฅํ ์ ์๋ค.
BOM(Browser Object Model)์ ์น๋ธ๋ผ์ฐ์ ์ ์ฐฝ์ด๋ ํ๋ ์์ ์ถ์ํํ์ฌ ํ๋ก๊ทธ๋๋ฐ์ ์ผ๋ก ์ ์ดํ ์ ์๋๋ก ์ ๊ณตํด์ฃผ๋ ์๋จ์ด๋ค. window
๊ฐ์ฒด์ ํ๋กํผํฐ์ ๋ฉ์๋๋ฅผ ํตํด ์ ์ดํ ์ ์๋ค.
window ๊ฐ์ฒด๋ DOM์ ํฌํจํ ๋ธ๋ผ์ฐ์ ์ ์ฐฝ์ ๋ํ๋ธ๋ค. ์๋ฐ์คํฌ๋ฆฝํธ์ ๋ชจ๋ ๊ฐ์ฒด, ์ ์ญ ํจ์, ์ ์ญ ๋ณ์๋ค์ ์๋์ผ๋ก window๊ฐ์ฒด์ ํ๋กํผํฐ๊ฐ ๋๋ค. window๊ฐ์ฒด์ ๋ฉ์๋๋ ์ ์ญ ํจ์์ด๋ฉฐ, window ๊ฐ์ฒด์ ํ๋กํผํฐ๋ ์ ์ญ ๋ณ์๊ฐ ๋๋ค. DOM์ ์์๋ค๋ ๋ชจ๋ window๊ฐ์ฒด์ ํ๋กํผํฐ๊ฐ ๋๋ค. ECMAScript์ global ๊ฐ์ฒด๋ ํธ์คํธ ํ๊ฒฝ์ ๋ฐ๋ผ ์ด๋ฆ์ด ๋ค๋ฅด๊ณ , ์ญํ ์ด ๋ค๋ฅด๋ค. ์น๋ธ๋ผ์ฐ์ ์์ window ๊ฐ์ฒด๋ ECMAScript์ ์ ์ญ๊ฐ์ฒด์ด๋ฉด์ ๋์์ ์น๋ธ๋ผ์ฐ์ ์ ์ฐฝ์ด๋ ํ๋ ์์ ์ ์ดํ๋ ์ญํ ์ ํ๋ค.
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(Document Object Model), ๋ฌธ์๊ฐ์ฒด๋ชจ๋ธ์ HTML๋ฌธ์๋ XML๋ฌธ์์ ์ ๊ทผํ๊ธฐ ์ํ ์ผ์ข ์ ์ธํฐํ์ด์ค์ด๋ค. ๋ฌธ์ ๋ด์ ๋ชจ๋ ์์์ ๋ชฉ์ ๊ณผ ํน์ง์ ์ ์ํ๊ณ , ๊ฐ๊ฐ์ ์์์ ์ ๊ทผํ๋ ๋ฐฉ๋ฒ์ ์ ๊ณตํ๋ค.
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 ์์์ ๋ด์ฉ(content)๋ ์์ฑ ๊ฐ์ ์์ฝ๊ฒ ๋ณ๊ฒฝํ ์ ์๋ค.
DOM ์์์ ๋ด์ฉ์ ๋ฐ๊พธ๋ ๊ฐ์ฅ ์ฌ์ด ๋ฐฉ๋ฒ์ innerHTML
property ์ด์ฉํ๋ ๊ฒ์ด๋ค. ๋ํ, DOM ์์์ ์์ฑ ์ด๋ฆ์ ์ด์ฉํ๋ฉด ์์ฑ๊ฐ์ ๋ฐ๋ก ๋ณ๊ฒฝํ ์ ์๋ค.
HTML ์์์ ์์ฑ ์ด๋ฆ์ ์ด์ฉํ์ฌ ์์ฑ๊ฐ์ ๋ณ๊ฒฝํ ์ ์๋ค.
jQuery๋ DOM์ ๋ด๋ถ์ ๊ฐ์ถ๊ณ ๋ณด๋ค ์ฝ๊ฒ ์นํ์ด์ง๋ฅผ ์กฐ์ํ ์ ์๋๋ก ๋๋ ๋๊ตฌ