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 관련 정보를 제공해준다.
현 사용하고 있는 웹브라우저의 정보를 제공해주는 객체이다. 주로 호환성 문제를 해결하기 위해 브라우저의 종류, 버전을 파악하는데 사용한다.
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을 내부에 감추고 보다 쉽게 웹페이지를 조작할 수 있도록 돕는 도구
Location 객체 속성 | |
---|---|
Navigator 객체 속성 | |
---|---|
href
웹사이트 전체 주소
protocal
프로토콜
hostname
호스트명
pathname
해당 웹 문서 경로
hash
해당 웹문서내 표식
appCodeName
웹브라우저 코드이름
appName
웹브라우저명 (IE : Microsoft Internet Explorer, 파이어폭스, 크롬 : Nescape)
appVersion
웹브라우저 버전
language
웹브라우저 사용언어
platform
브라우저가 동작하고 있는 운영체제에 대한 정보
userAgent
웹브라우저가 서버에 접속할 때 브라우저의 종류, 버전, 코드이름 등 서버에 전달되는 모든정보
plugins
현재 시스템에 설치된 플러그인 정보
mimeTypes
웹브라우저에서 지원하는 MIME 형식에 대한 정보