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
ancestorOrigins: DOMStringList {length: 0}
assign: Ζ assign()
hash: ""
host: "display.cjmall.com"
hostname: "display.cjmall.com"
href: "http://display.cjmall.com/m/homeTab/main?hmtabMenuId=000002&rPIC=Oclock"
origin: "http://display.cjmall.com"
pathname: "/m/homeTab/main"
port: ""
protocol: "http:"
reload: Ζ reload()
replace: Ζ ()
search: "?hmtabMenuId=000002&rPIC=Oclock"
toString: Ζ toString()
valueOf: Ζ valueOf()
Symbol(Symbol.toPrimitive): undefined
__proto__: Location
Location κ°μ²΄ μμ±
href
μΉμ¬μ΄νΈ μ 체 μ£Όμ
protocal
νλ‘ν μ½
hostname
νΈμ€νΈλͺ
pathname
ν΄λΉ μΉ λ¬Έμ κ²½λ‘
hash
ν΄λΉ μΉλ¬Έμλ΄ νμ
Navigator κ°μ²΄
ν μ¬μ©νκ³ μλ μΉλΈλΌμ°μ μ μ 보λ₯Ό μ 곡ν΄μ£Όλ κ°μ²΄μ΄λ€. μ£Όλ‘ νΈνμ± λ¬Έμ λ₯Ό ν΄κ²°νκΈ° μν΄ λΈλΌμ°μ μ μ’ λ₯, λ²μ μ νμ νλλ° μ¬μ©νλ€.
Navigator
appCodeName: "Mozilla"
appName: "Netscape"
appVersion: "5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1"
connection: NetworkInformation {onchange: null, effectiveType: "4g", rtt: 50, downlink: 10, saveData: false}
cookieEnabled: true
doNotTrack: null
geolocation: Geolocation {}
hardwareConcurrency: 4
language: "ko-KR"
languages: (4) ["ko-KR", "ko", "en-US", "en"]
maxTouchPoints: 1
mediaCapabilities: MediaCapabilities {}
mediaSession: MediaSession {metadata: null, playbackState: "none"}
mimeTypes: MimeTypeArray {length: 0}
onLine: true
permissions: Permissions {}
platform: "MacIntel"
plugins: PluginArray {length: 0}
product: "Gecko"
productSub: "20030107"
sendBeacon: Ζ sendBeacon()
userActivation: UserActivation {hasBeenActive: true, isActive: true}
userAgent: "Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1"
vendor: "Google Inc."
vendorSub: ""
webkitPersistentStorage: DeprecatedStorageQuota {}
webkitTemporaryStorage: DeprecatedStorageQuota {}
__proto__: Navigator
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μμ μ ν
var selectedItem = document.getElementsByTagName("li"); //<li> μμ μ ν
for(var i=0;i<selectedItem.length;i++){
selectedItem.item(i).style.color="red";
}
item()
λ©μλλ ν΄λΉ HTML κ°μ²΄ μ§ν©μμ μ λ¬λ°μ μΈλ±μ€μ ν΄λΉνλ μμλ₯Ό λ°ννλ€.
HTML μμμ style propertyλ₯Ό μ΄μ©νλ©΄, ν΄λΉ μμμ CSS μ€νμΌμ λ³κ²½ν μ μλ€.
idλ₯Ό μ΄μ©ν μ ν
getElementById()
: μμ΄λλ₯Ό μ΄μ©νμ¬ HTML μμλ₯Ό μ ν
var selectedItem = document.getElementById("even");
selectedItem.styel.color = "red";
μ΄λ ν΄λΉ μμ΄λλ₯Ό κ°μ§κ³ μλ μμ μ€μμ 첫 λ²μ§Έ μμ λ¨ νλλ§μ μ ννλ€. κ·Έλ¬λ―λ‘ μ¬λ¬ μμλ₯Ό μ ννκ³ μΆμ λλ tagnameμ΄λ classμ κ°μ λ€λ₯Έ λ°©λ²μ μ¬μ©ν΄μΌνλ€.
Classλ₯Ό μ΄μ©ν μ ν
getElementByClassName
: ν΄λμ€ μ΄λ¦μ μ΄μ©νμ¬ HTML μμ μ ν
var selectedItem = document.getElementByClassName("odd");
for(var i=0;i<selectedItem.length;i++){
selectedItem.item(i).style.color="red";
}
CSS selectorλ₯Ό μ΄μ©ν μ ν
querySelectorAll()
: CSS μ νμ(μμ΄λ, ν΄λμ€, μμ±, μμ±κ° λ±)λ₯Ό μ΄μ©νμ¬ HTMLμμ μ ν
var selectedItem = document.querySelectorAll("li.odd");
for(var i=0;i<selectedItem.length;i++){
selectedItem.item(i).style.color="red";
}
HTML κ°μ²΄ μ§ν©(object collection)μ μ΄μ©ν μ ν
var title = document.title; // <title> μμλ₯Ό μ νν¨.
document.write(title);
DOM μμ λ΄μ© λ³κ²½
DOMμ μ΄μ©νμ¬ DOM μμμ λ΄μ©(content)λ μμ± κ°μ μμ½κ² λ³κ²½ν μ μλ€.
DOM μμμ λ΄μ©μ λ°κΎΈλ κ°μ₯ μ¬μ΄ λ°©λ²μ innerHTML
property μ΄μ©νλ κ²μ΄λ€. λν, DOM μμμ μμ± μ΄λ¦μ μ΄μ©νλ©΄ μμ±κ°μ λ°λ‘ λ³κ²½ν μ μλ€.
var str = document.getElementById("text");
str.innerHTML = "λ¬Έμ₯λ°κΎΈκΈ°";
HTML μμμ μμ± μ΄λ¦μ μ΄μ©νμ¬ μμ±κ°μ λ³κ²½ν μ μλ€.
var link = document.getElementById("link");
str.href = "/javascript/intro";
link.innerHTML = "ν΄λΉ μμμ λ΄μ© λ³κ²½νκΈ°";
jQuery
jQueryλ DOMμ λ΄λΆμ κ°μΆκ³ λ³΄λ€ μ½κ² μΉνμ΄μ§λ₯Ό μ‘°μν μ μλλ‘ λλ λꡬ
Last updated
Was this helpful?