이 초보자 가이드에서는 대화형 웹 페이지를 만들기 위한 강력한 기술인 JavaScript의 DOM(문서 개체 모델) 조작을 살펴봅니다. 정적 콘텐츠를 역동적이고 매력적인 경험으로 변환할 수 있는 기본 사항을 다루겠습니다.
DOM은 HTML 문서를 트리와 같은 객체 구조로 표현하는 프로그래밍 인터페이스입니다. 가계도처럼 생각해 보세요. 태그는
및
로 분기되는 루트이며, 이는
<title></title>
, <div> 및 <code><p></p>
과 같은 다른 요소로 추가로 분기됩니다. JavaScript를 사용하면 이러한 요소에 액세스하고 수정하고 추가하고 제거하고 재정렬할 수 있습니다.
요소를 선택하는 것이 첫 번째 단계입니다. JavaScript는 여러 가지 방법을 제공합니다:
const element = document.getElementById('myId');
const elements = document.getElementsByClassName('myClass');
const paragraphs = document.getElementsByTagName('p');
const firstElement = document.querySelector('.myClass'); // First element matching the selector const allElements = document.querySelectorAll('.myClass'); // All matching elements
요소 텍스트 또는 HTML 수정:
- 텍스트 내용:
document.getElementById('example').textContent = 'New Text';
- HTML 콘텐츠:
document.getElementById('example').innerHTML = '<b>Bold Text</b>';
요소 속성 업데이트 또는 추가:
const image = document.querySelector('img'); image.setAttribute('src', 'newImage.jpg'); image.setAttribute('alt', 'New Description');
.style
또는 CSS 클래스를 사용하여 요소 모양 변경:
const box = document.getElementById('box'); box.style.backgroundColor = 'blue'; box.style.color = 'white'; box.classList.add('active'); box.classList.remove('inactive'); box.classList.toggle('highlight');
요소를 동적으로 생성 및 조작:
- 생성 및 추가:
const newDiv = document.createElement('div'); newDiv.textContent = 'I am a new div!'; document.body.appendChild(newDiv);
- 요소 제거:
const element = document.getElementById('removeMe'); element.remove();
DOM 조작과 이벤트 리스너를 결합하여 사용자 작업에 응답합니다.
예: 버튼 클릭
(간결함을 위해 예제 코드는 생략되었지만 버튼 요소에 이벤트 리스너를 추가하는 것도 포함됩니다.)
공통 이벤트: click
, mouseover
, keydown
등
관련 요소에 액세스하려면 .parentNode
, .parentElement
, .children
, .childNodes
, .nextElementSibling
, .previousElementSibling
등의 속성을 사용하여 DOM 트리를 탐색하세요.
documentFragment
을 사용하세요.innerHTML
: 더 나은 성능과 보안을 위해 createElement
를 사용하세요.DOM 조작은 현대 웹 개발에 필수적입니다. 이러한 기술을 익히면 역동적이고 매력적인 사용자 인터페이스를 구축할 수 있습니다. 간단한 프로젝트부터 시작하여 점차적으로 고급 개념을 탐구해 보세요.
위 내용은 JavaScript의 DOM 조작 이해: 초보자 가이드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!