Search

DOM

DOM (Document Object Model)

HTML λ¬Έμ„œλ₯Ό JavaScript 객체둜 λ‹€λ£¨λŠ” μΈν„°νŽ˜μ΄μŠ€
β€œJavaScript 둜 HTML 을 μ‘°μž‘ν•  수 있게 ν•΄μ£ΌλŠ” μ—°κ²° λ„κ΅¬β€œ
μ›Ή νŽ˜μ΄μ§€ λ‘œλ“œ β†’ λΈŒλΌμš°μ €κ°€ DOM 생성
μš”μ†Œμ˜ λͺ©μ κ³Ό νŠΉμ§•μ„ μ •μ˜ν•˜κ³ , μ ‘κ·Όν•˜λŠ” 방법을 제곡
DOM은 HTML λ¬Έμ„œμ˜ 계측적 ꡬ쑰와 정보λ₯Ό ν‘œν˜„ν•˜λ©°, 이λ₯Ό μ œμ–΄ν•  수 μžˆλŠ” ν”„λ‘œνΌν‹°μ™€ λ©”μ†Œλ“œλ₯Ό μ œκ³΅ν•˜λŠ” 트리 μžλ£Œκ΅¬μ‘°μž…λ‹ˆλ‹€.

DOM 을 μ΄μš©ν•œ μž‘μ—…

JavaScript 둜 DOM 을 μ΄μš©ν•΄ ν•  수 μžˆλŠ” μž‘μ—…
β€’
HTML μš”μ†Œ 및 속성을 μΆ”κ°€, λ³€κ²½, 제거
β€’
HTML μš”μ†Œμ˜ CSS μŠ€νƒ€μΌ μΆ”κ°€, λ³€κ²½, 제거
β€’
HTML λ¬Έμ„œμ— λŒ€ν•œ 이벀트 처리
β€’
μž…λ ₯ 양식에 λŒ€ν•œ μœ νš¨μ„± 검사

λ¬Έμ„œ 객체 λͺ¨λΈ ꡬ쑰

DOM은 HTML λ¬Έμ„œλ₯Ό 계측적인 ꡬ쑰인 트리 ꡬ쑰둜 λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€.
μ΅œμƒμœ„μ— Document λ…Έλ“œκ°€ 있고, κ·Έ μ•„λž˜λ‘œ HTML, head, body λ“±μ˜ μš”μ†Œ λ…Έλ“œλ“€μ΄ κ³„μΈ΅μ μœΌλ‘œ κ΅¬μ„±λ©λ‹ˆλ‹€. 각 λ…Έλ“œλŠ” λΆ€λͺ¨-μžμ‹-ν˜•μ œ 관계λ₯Ό κ°€μ§‘λ‹ˆλ‹€.

Document

μ›Ή νŽ˜μ΄μ§€ 객체
HTML μš”μ†Œμ— 접근을 μ‹œμž‘ν•˜κΈ° μœ„ν•΄ μ‚¬μš©ν•˜λŠ” 객체

docuemnt κ΅¬μ„±μš”μ†Œ

β€’
DOM 속성 (Property)
β€’
DOM λ©”μ„œλ“œ (Method)

DOM 속성 (Property)

속성
μ„€λͺ…
innerHTML
μš”μ†Œμ˜ HTML λ‚΄μš©μ„ κ°€μ Έμ˜€κ±°λ‚˜ μ„€μ •
textContent
μš”μ†Œμ˜ ν…μŠ€νŠΈ λ‚΄μš©μ„ κ°€μ Έμ˜€κ±°λ‚˜ μ„€μ •
id
μš”μ†Œμ˜ 고유 μ‹λ³„μž
style
μš”μ†Œμ˜ 인라인 μŠ€νƒ€μΌ 속성
className
μš”μ†Œμ˜ 클래슀 이름
value
폼 μš”μ†Œμ˜ κ°’
checked
μ²΄ν¬λ°•μŠ€λ‚˜ λΌλ””μ˜€ λ²„νŠΌμ˜ 선택 μƒνƒœ

DOM λ©”μ„œλ“œ (Method)

λ©”μ„œλ“œ
μ„€λͺ…
write()
HTML λ¬Έμ„œμ— 좜λ ₯
createElement()
μƒˆλ‘œμš΄ HTML μš”μ†Œ 생성
appendChild()
μš”μ†Œλ₯Ό μžμ‹ μš”μ†Œλ‘œ μΆ”κ°€
removeChild()
μžμ‹ μš”μ†Œ 제거
setAttribute()
μš”μ†Œμ˜ 속성 μ„€μ •
getAttribute()
μš”μ†Œμ˜ 속성 κ°’ κ°€μ Έμ˜€κΈ°
addEventListener()
μš”μ†Œμ— 이벀트 λ¦¬μŠ€λ„ˆ μΆ”κ°€
removeEventListener()
μš”μ†Œμ˜ 이벀트 λ¦¬μŠ€λ„ˆ 제거
focus()
μš”μ†Œμ— 포컀슀 μ„€μ •
click()
μš”μ†Œλ₯Ό 클릭
submit()
폼 μš”μ†Œλ₯Ό 제좜

DOM μš”μ†Œ μ ‘κ·Ό 방법

β€’
μš”μ†Œ 선택
β€’
μš”μ†Œ 정보
β€’
μš”μ†Œ μŠ€νƒ€μΌ λ³€κ²½

μš”μ†Œ 선택

DOM λ©”μ†Œλ“œλ₯Ό μ‚¬μš©ν•˜μ—¬ HTML μš”μ†Œλ₯Ό μ„ νƒν•˜λŠ” 방법
β€’
getElement λ₯˜
β—¦
id, class, tag, μ†μ„±μœΌλ‘œ μš”μ†Œλ₯Ό μ„ νƒν•˜λŠ” 방법
document.getElementXXX()
JavaScript
볡사
β€’
querySelector λ₯˜
β—¦
μ„ νƒμžλ‘œ μš”μ†Œλ₯Ό μ„ νƒν•˜λŠ” 방법
document.querySelector()
JavaScript
볡사
λ©”μ„œλ“œ
μ„€λͺ…
λ°˜ν™˜κ°’
getElementById(아이디)
ν•΄λ‹Ή μ•„μ΄λ””μ˜ μš”μ†Œλ₯Ό 선택함.
Element
getElementsByTagName(νƒœκ·Έμ΄λ¦„)
ν•΄λ‹Ή νƒœκ·Έ μ΄λ¦„μ˜ μš”μ†Œλ₯Ό λͺ¨λ‘ 선택함.
HTMLCollection
getElementsByClassName(ν΄λž˜μŠ€μ΄λ¦„)
ν•΄λ‹Ή ν΄λž˜μŠ€μ— μ†ν•œ μš”μ†Œλ₯Ό λͺ¨λ‘ 선택함.
HTMLCollection
getElementsByName(name속성값)
ν•΄λ‹Ή name 속성값을 κ°€μ§€λŠ” μš”μ†Œλ₯Ό λͺ¨λ‘ 선택함.
NodeList
querySelector(μ„ νƒμž)
ν•΄λ‹Ή μ„ νƒμžλ‘œ 단일 μš”μ†Œλ₯Ό 선택함.
Element
querySelectorAll(μ„ νƒμž)
ν•΄λ‹Ή μ„ νƒμžλ‘œ μ§€μ • κ°€λŠ₯ν•œ λͺ¨λ“  μš”μ†Œλ₯Ό 선택함.
NodeList

μš”μ†Œ 정보

Element 객체의 속성과 λ©”μ†Œλ“œλ‘œ μš”μ†Œμ˜ 속성을 λ‹€λ£¨λŠ” 방법
속성/λ©”μ„œλ“œ
μ„€λͺ…
Element.속성
μš”μ†Œμ˜ 속성 값을 직접 μ ‘κ·Όν•˜μ—¬ κ°€μ Έμ˜€κΈ°
Element.속성 = κ°’
μš”μ†Œμ˜ 속성 값을 직접 μ ‘κ·Όν•˜μ—¬ μ§€μ •ν•˜κΈ°
getAttribute( )
μš”μ†Œμ˜ 속성 값을 λ©”μ†Œλ“œλ‘œ κ°€μ Έμ˜€κΈ°
setAttribute( )
μš”μ†Œμ˜ 속성 값을 λ©”μ†Œλ“œλ‘œ μ§€μ •ν•˜κΈ°

μ£Όμš” 속성 및 μ˜ˆμ‹œ

속성/λ©”μ„œλ“œ
μ„€λͺ…
textContent
μš”μ†Œμ˜ ν…μŠ€νŠΈ λ‚΄μš©μ„ κ°€μ Έμ˜€κΈ°
textContent = β€˜λ‚΄μš©β€™
μš”μ†Œμ˜ ν…μŠ€νŠΈ λ‚΄μš©μ„ μ§€μ •ν•˜κΈ°
innerText
μš”μ†Œμ˜ ν…μŠ€νŠΈ λ‚΄μš©μ„ κ°€μ Έμ˜€κΈ°
innerText = β€˜λ‚΄μš©β€™
μš”μ†Œμ˜ ν…μŠ€νŠΈ λ‚΄μš©μ„ μ§€μ •ν•˜κΈ°
innerHTML
μš”μ†Œμ˜ μžμ‹μš”μ†Œμ™€ HTML κ°€μ Έμ˜€κΈ°
innerHTML = β€˜<h1>λ‚΄μš©</h1>’
μš”μ†Œμ˜ 컨텐츠λ₯Ό HTML 둜 μ§€μ •ν•˜κΈ°

μš”μ†Œ μŠ€νƒ€μΌ λ³€κ²½

μš”μ†Œλ₯Ό μ„ νƒν•˜μ—¬ style 속성에 μ ‘κ·Όν•˜κ³ , CSS μŠ€νƒ€μΌ 속성값을 μ§€μ •ν•˜μ—¬ λ³€κ²½ν•˜λŠ” 방법
μš”μ†Œ.style.속성 = "μŠ€νƒ€μΌ 속성값"
JavaScript
볡사

단일 μŠ€νƒ€μΌ 속성 λ³€κ²½

const box = document.getElementById('box'); box.style.color = 'red';
JavaScript
볡사

μ—¬λŸ¬ μŠ€νƒ€μΌ 속성 λ™μ‹œ λ³€κ²½

β€’
μš”μ†Œ.style.cssText 속성을 μ‚¬μš©
β€’
Object.assign() λ©”μ„œλ“œ μ‚¬μš©
const box = document.getElementById('box'); // κ°œλ³„ μŠ€νƒ€μΌ 속성 μ§€μ • box.style.backgroundColor = 'blue'; box.style.width = '200px'; box.style.height = '100px'; box.style.border = '2px solid black'; // cssTextλ₯Ό μ‚¬μš©ν•œ μ—¬λŸ¬ μŠ€νƒ€μΌ λ™μ‹œ μ§€μ • box.style.cssText = 'background-color: blue; width: 200px; height: 100px; border: 2px solid black;'; // Object.assign을 μ‚¬μš©ν•œ μ—¬λŸ¬ μŠ€νƒ€μΌ λ™μ‹œ μ§€μ • Object.assign(box.style, { backgroundColor: 'blue', width: '200px', height: '100px', border: '2px solid black' });
JavaScript
볡사
DOM 을 ν†΅ν•œ CSS μŠ€νƒ€μΌ 지정방법
β€’
단일 μŠ€νƒ€μΌ 속성
β€’
μ—¬λŸ¬ μŠ€νƒ€μΌ 속성
β—¦
cssText
β—¦
Object.assign()
style 객체의 μ†μ„±μœΌλ‘œ 직접 μ§€μ •ν•˜κ±°λ‚˜, cssText 속성 λ˜λŠ” Object.assign() λ©”μ„œλ“œλ₯Ό μ‚¬μš©ν•˜μ—¬ μ—¬λŸ¬ μŠ€νƒ€μΌμ„ ν•œ λ²ˆμ— λ³€κ²½ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
객체 ν˜•νƒœλ‘œ μŠ€νƒ€μΌ 속성 μž‘μ„± μ‹œ μœ μ˜μ‚¬ν•­
ꡬ뢄
μΌ€μ΄μŠ€
μ˜ˆμ‹œ
λ”°μ˜΄ν‘œ μ‚¬μš©
μΌ€λ°₯ μΌ€μ΄μŠ€(kebab-case)
"background-color"
λ”°μ˜΄ν‘œ λ―Έμ‚¬μš©
카멜 μΌ€μ΄μŠ€(camelCase)
backgroundColor

이벀트

μ‚¬μš©μž λ™μž‘μ΄λ‚˜ μ‹œμŠ€ν…œ λ³€ν™”λ₯Ό κ°μ§€ν•˜λŠ” μ‹ ν˜Έμž…λ‹ˆλ‹€.
JavaScript 둜 μ΄λŸ¬ν•œ 이벀트λ₯Ό κ°μ§€ν•˜κ³  μ²˜λ¦¬ν•˜μ—¬ 동적인 μ›Ή νŽ˜μ΄μ§€λ₯Ό κ΅¬ν˜„ν•©λ‹ˆλ‹€.
이벀트
μ„€λͺ…
DOMContentLoaded
HTML λ¬Έμ„œμ˜ DOM νŠΈλ¦¬κ°€ μ™„μ„±λ˜λ©΄ λ°œμƒ (λ¬Έμ„œ μ€€λΉ„ 이벀트)
click
마우슀 클릭 μ‹œ λ°œμƒ
change
μš”μ†Œμ˜ 값이 변경될 λ•Œ λ°œμƒ
keyup
ν‚€λ₯Ό λˆ„λ₯Ό λ•Œ λ°œμƒ
submit
폼 제좜 μ‹œ λ°œμƒ
scroll
νŽ˜μ΄μ§€λ‚˜ μš”μ†Œκ°€ 슀크둀될 λ•Œ λ°œμƒ

DOM λ…Έλ“œ

μš”μ†Œμ˜ 정보λ₯Ό μ €μž₯ν•˜κ³  μžˆλŠ” 계측적 λ‹¨μœ„
DOM λ…Έλ“œλŠ” HTML λ¬Έμ„œλ₯Ό κ΅¬μ„±ν•˜λŠ” κΈ°λ³Έ λ‹¨μœ„λ‘œ, λ¬Έμ„œμ˜ λͺ¨λ“  μš”μ†Œ, 속성, ν…μŠ€νŠΈλ₯Ό λ‚˜νƒ€λ‚΄λŠ” κ°μ²΄μž…λ‹ˆλ‹€.
λ…Έλ“œ
μ„€λͺ…
λ¬Έμ„œ λ…Έλ“œ
HTML λ¬Έμ„œ 전체λ₯Ό λ‚˜νƒ€λ‚΄λŠ” λ…Έλ“œ
μš”μ†Œ λ…Έλ“œ
λͺ¨λ“  HTML μš”μ†ŒλŠ” μš”μ†Œ λ…Έλ“œμ΄λ©°, 속성 λ…Έλ“œλ₯Ό κ°€μ§ˆ 수 μžˆλŠ” μœ μΌν•œ λ…Έλ“œ
속성 λ…Έλ“œ
λͺ¨λ“  HTML μš”μ†Œμ˜ 속성은 속성 λ…Έλ“œμ΄λ©°, μš”μ†Œ λ…Έλ“œμ— κ΄€ν•œ 정보λ₯Ό κ°€μ§€κ³  있음. ν•˜μ§€λ§Œ ν•΄λ‹Ή μš”μ†Œ λ…Έλ“œμ˜ μžμ‹ λ…Έλ“œ(child node)μ—λŠ” ν¬ν•¨λ˜μ§€ μ•ŠμŒ.
ν…μŠ€νŠΈ λ…Έλ“œ
HTML λ¬Έμ„œμ˜ λͺ¨λ“  ν…μŠ€νŠΈλŠ” ν…μŠ€νŠΈ λ…Έλ“œ
주석 λ…Έλ“œ
HTML λ¬Έμ„œμ˜ λͺ¨λ“  주석은 주석 λ…Έλ“œ

λ…Έλ“œ κ°„μ˜ 관계

DOM은 λ…Έλ“œ κ°„μ˜ 계측적 관계λ₯Ό κ°€μ§€λ©°, λΆ€λͺ¨-μžμ‹-ν˜•μ œ κ΄€κ³„λ‘œ κ΅¬μ„±λ©λ‹ˆλ‹€.

λ…Έλ“œ 관계 속성

λ…Έλ“œ
μ„€λͺ…
루트 λ…Έλ“œ
가상 μƒμœ„μ— μžˆλŠ” 단 ν•˜λ‚˜μ˜ λ…Έλ“œ (<html>)
λΆ€λͺ¨ λ…Έλ“œ
λ°”λ‘œ μƒμœ„μ— μžˆλŠ” 단 ν•˜λ‚˜μ˜ λ…Έλ“œ
μžμ‹ λ…Έλ“œ
λ°”λ‘œ ν•˜μœ„μ— μžˆλŠ” λ…Έλ“œ
ν˜•μ œ λ…Έλ“œ
같은 λΆ€λͺ¨ λ…Έλ“œλ₯Ό κ°–λŠ” λ…Έλ“œ
쑰상 λ…Έλ“œ
ν˜„μž¬ λ…Έλ“œλ³΄λ‹€ μƒμœ„μ— μ‘΄μž¬ν•˜λŠ” λͺ¨λ“  λ…Έλ“œ
μžμ† λ…Έλ“œ
ν˜„μž¬ λ…Έλ“œλ³΄λ‹€ ν•˜μœ„μ— μ‘΄μž¬ν•˜λŠ” λͺ¨λ“  λ…Έλ“œ

λ…Έλ“œ μ ‘κ·Ό 속성

속성
μ„€λͺ…
parentNode
λΆ€λͺ¨ λ…Έλ“œ
childNodes
λͺ¨λ“  μžμ‹ λ…Έλ“œ(NodeList)
firstChild
첫 번째 μžμ‹ λ…Έλ“œ
lastChild
λ§ˆμ§€λ§‰ μžμ‹ λ…Έλ“œ
nextSibling
λ‹€μŒ ν˜•μ œ λ…Έλ“œ
previousSibling
이전 ν˜•μ œ λ…Έλ“œ
parentElement
λΆ€λͺ¨ μš”μ†Œ(Element)
children
μžμ‹ μš”μ†Œλ“€
firstElementChild
첫 번째 μžμ‹ μš”μ†Œ
lastElementChild
λ§ˆμ§€λ§‰ μžμ‹ μš”μ†Œ
nextElementSibling
λ‹€μŒ ν˜•μ œ μš”μ†Œ
previousElementSibling
이전 ν˜•μ œ μš”μ†Œ

DOM λ…Έλ“œ λ©”μ†Œλ“œ

β€’
λ…Έλ“œ μΆ”κ°€
β€’
λ…Έλ“œ 생성
β€’
λ…Έλ“œ 제거
β€’
λ…Έλ“œ 볡제
β€’
λ…Έλ“œ μ‘°μž‘

λ…Έλ“œ μΆ”κ°€

속성/λ©”μ„œλ“œ
μ„€λͺ…
appendChild(μΆ”κ°€λ…Έλ“œ)
ν•΄λ‹Ή λ…Έλ“œμ˜ μžμ‹ λ…Έλ“œ 리슀트 맨 λ§ˆμ§€λ§‰μ— μΆ”κ°€
insertBefore(μΆ”κ°€λ…Έλ“œ, κΈ°μ€€λ…Έλ“œ)
μΆ”κ°€ν•  λ…Έλ“œλ₯Ό νŠΉμ • μžμ‹ λ…Έλ“œ μ•žμ— μΆ”κ°€
insertData(인덱슀, 데이터)
ν…μŠ€νŠΈ λ…Έλ“œμ˜ νŠΉμ • μΈλ±μŠ€λΆ€ν„° 데이터λ₯Ό μΆ”κ°€

λ…Έλ“œ 생성

속성/λ©”μ„œλ“œ
μ„€λͺ…
createElement(μš”μ†Œ)
μƒˆλ‘œμš΄ HTML μš”μ†Œ λ…Έλ“œλ₯Ό 생성
createAttribute(속성)
μƒˆλ‘œμš΄ 속성 λ…Έλ“œλ₯Ό 생성
createTextNode(ν…μŠ€νŠΈ)
μƒˆλ‘œμš΄ ν…μŠ€νŠΈ λ…Έλ“œλ₯Ό 생성

λ…Έλ“œ 제거

속성/λ©”μ„œλ“œ
μ„€λͺ…
removeChild(μš”μ†Œ)
μžμ‹ λ…Έλ“œ λ¦¬μŠ€νŠΈμ—μ„œ νŠΉμ • μžμ‹ λ…Έλ“œλ₯Ό 제거
removeAttribute(속성)
νŠΉμ • 속성 λ…Έλ“œλ₯Ό 제거

λ…Έλ“œ 볡제

속성/λ©”μ„œλ“œ
μ„€λͺ…
cloneNode(μžμ‹ λ…Έλ“œ 볡제 μ—¬λΆ€)
κΈ°μ‘΄ λ…Έλ“œλ₯Ό λ³΅μ œν•˜μ—¬ μƒˆ λ…Έλ“œλ‘œ 생성 μžμ‹ λ…Έλ“œ 볡제 μ—¬λΆ€ : true (볡제O), false (볡제X)

λ…Έλ“œ μ‘°μž‘

속성/λ©”μ„œλ“œ
μ„€λͺ…
nodeValue
νŠΉμ • λ…Έλ“œμ˜ 값을 λ³€κ²½
replaceChild(μƒˆ λ…Έλ“œ, κΈ°μ‘΄ λ…Έλ“œ)
κΈ°μ‘΄ λ…Έλ“œλ₯Ό μƒˆ λ…Έλ“œλ₯Ό λ³€κ²½
replaceData(μ˜€ν”„μ…‹, 문자 수, 데이터)
μ˜€ν”„μ…‹ μœ„μΉ˜λΆ€ν„° ꡐ체할 문자 개수만큼 λ°μ΄ν„°λ‘œ λ³€κ²½

ν•™μŠ΅ μš”μ†Œ

β€’
λ¬Έμ„œ 객체 μ‘°μž‘ν•˜κΈ°
β€’
λ¬Έμ„œ 객체 μƒμ„±ν•˜κΈ°
β€’
λ¬Έμ„œ 객체 이벀트 μΆ”κ°€ν•˜κΈ°
β€’
λ¬Έμ„œ 객체 μ œκ±°ν•˜κΈ°

λ¬Έμ„œ 객체 μ‘°μž‘ν•˜κΈ°

DOM μš”μ†Œμ˜ λ‚΄μš©μ΄λ‚˜ 속성을 λ³€κ²½ν•˜λŠ” μž‘μ—…μž…λ‹ˆλ‹€.
// λ‚΄μš© λ³€κ²½ element.textContent = 'μƒˆλ‘œμš΄ ν…μŠ€νŠΈ'; element.innerHTML = '<span>HTML 포함</span>'; // μŠ€νƒ€μΌ λ³€κ²½ element.style.backgroundColor = 'blue'; element.style.fontSize = '20px'; // 클래슀 μ‘°μž‘ element.classList.add('active'); element.classList.remove('inactive');
JavaScript
볡사

λ¬Έμ„œ 객체 μƒμ„±ν•˜κΈ°

μƒˆλ‘œμš΄ DOM μš”μ†Œλ₯Ό μƒμ„±ν•˜κ³  λ¬Έμ„œμ— μΆ”κ°€ν•˜λŠ” μž‘μ—…μž…λ‹ˆλ‹€.
// μƒˆ μš”μ†Œ 생성 const div = document.createElement('div'); div.textContent = 'μƒˆλ‘œμš΄ div μš”μ†Œ'; // λ¬Έμ„œμ— μΆ”κ°€ document.body.appendChild(div); // νŠΉμ • μœ„μΉ˜μ— μ‚½μž… parentElement.insertBefore(div, referenceElement);
JavaScript
볡사

λ¬Έμ„œ 객체 이벀트 μΆ”κ°€ν•˜κΈ°

DOM μš”μ†Œμ— 이벀트 λ¦¬μŠ€λ„ˆλ₯Ό μΆ”κ°€ν•˜μ—¬ μ‚¬μš©μž μƒν˜Έμž‘μš©μ„ μ²˜λ¦¬ν•©λ‹ˆλ‹€.
// 이벀트 λ¦¬μŠ€λ„ˆ μΆ”κ°€ element.addEventListener('click', function(event) { console.log('클릭됨!'); }); // 이벀트 객체 ν™œμš© input.addEventListener('keyup', function(event) { if (event.key === 'Enter') { console.log('μ—”ν„°ν‚€ μž…λ ₯!'); } });
JavaScript
볡사

λ¬Έμ„œ 객체 μ œκ±°ν•˜κΈ°

DOMμ—μ„œ μš”μ†Œλ₯Ό μ œκ±°ν•˜λŠ” μž‘μ—…μž…λ‹ˆλ‹€.
// μš”μ†Œ 직접 제거 element.remove(); // λΆ€λͺ¨ λ…Έλ“œλ₯Ό ν†΅ν•œ 제거 parentElement.removeChild(childElement); // λͺ¨λ“  μžμ‹ μš”μ†Œ 제거 while (element.firstChild) { element.removeChild(element.firstChild); }
JavaScript
볡사