DOM 조작은 개발자가 웹 페이지의 콘텐츠, 구조 및 스타일을 동적으로 수정할 수 있도록 하는 최신 웹 개발의 기본 측면입니다. DOM(문서 개체 모델)은 웹페이지의 HTML 구조를 트리 형식으로 나타냅니다.
DOM은 JavaScript가 HTML 및 CSS와 상호 작용할 수 있도록 브라우저에서 제공하는 인터페이스입니다. 각 요소, 속성 또는 텍스트가 노드인 노드 트리로 페이지를 나타냅니다.
아래 HTML의 경우:
<div> <p>The DOM structure looks like this:</p> <ul> <li>Document <ul> <li>HTML</li> <li>Body <ul> <li>Div (id="container")</li> <li>Paragraph ("Hello, World!")</li> </ul> </li> </ul> </li> </ul> <hr> <h3> <strong>2. Selecting DOM Elements</strong> </h3> <h4> <strong>A. Using getElementById</strong> </h4> <p>Select an element by its ID.<br> </p> <pre class="brush:php;toolbar:false">const container = document.getElementById("container"); console.log(container); // Output: <div> <h4> <strong>B. Using querySelector</strong> </h4> <p>Select the first matching element.<br> </p> <pre class="brush:php;toolbar:false">const paragraph = document.querySelector("p"); console.log(paragraph); // Output: <p>Hello, World!</p>
일치하는 모든 요소를 NodeList로 선택하세요.
const allParagraphs = document.querySelectorAll("p"); console.log(allParagraphs); // Output: NodeList of <p> elements
콘텐츠를 수정하려면 textContent 또는 innerHTML 속성을 사용하세요.
const paragraph = document.querySelector("p"); paragraph.textContent = "Hello, JavaScript!"; // Changes <p>Hello, World!</p> to <p>Hello, JavaScript!</p>
setAttribute를 사용하거나 직접 속성 할당을 사용하세요.
const image = document.querySelector("img"); image.setAttribute("src", "new-image.jpg"); image.alt = "A descriptive text";
인라인 스타일을 적용하려면 스타일 속성을 수정하세요.
const container = document.getElementById("container"); container.style.backgroundColor = "lightblue"; container.style.padding = "20px";
createElement 메소드를 사용하세요.
const newParagraph = document.createElement("p"); newParagraph.textContent = "This is a new paragraph."; document.body.appendChild(newParagraph);
remove 메소드를 사용하거나 deleteChild를 사용하세요.
const paragraph = document.querySelector("p"); paragraph.remove(); // Removes the paragraph from the DOM
이벤트 리스너를 사용하여 요소에 상호작용성을 추가할 수 있습니다.
const button = document.createElement("button"); button.textContent = "Click Me"; button.addEventListener("click", function() { alert("Button clicked!"); }); document.body.appendChild(button);
상위, 하위, 형제 요소를 탐색합니다.
const child = document.querySelector("p"); const parent = child.parentElement; console.log(parent); // Output: Parent element of <p> const children = parent.children; console.log(children); // Output: HTMLCollection of child elements
const sibling = child.nextElementSibling; console.log(sibling); // Output: Next sibling element
const fragment = document.createDocumentFragment(); for (let i = 0; i < 5; i++) { const li = document.createElement("li"); li.textContent = `Item ${i + 1}`; fragment.appendChild(li); } document.querySelector("ul").appendChild(fragment);
직접 DOM 조작 최소화:
요소를 캐시하고 일괄 수정합니다.
가상 DOM 라이브러리 사용:
복잡한 애플리케이션의 경우 React 또는 Vue와 같은 라이브러리를 고려하세요.
<div> <p>The DOM structure looks like this:</p> <ul> <li>Document <ul> <li>HTML</li> <li>Body <ul> <li>Div (id="container")</li> <li>Paragraph ("Hello, World!")</li> </ul> </li> </ul> </li> </ul> <hr> <h3> <strong>2. Selecting DOM Elements</strong> </h3> <h4> <strong>A. Using getElementById</strong> </h4> <p>Select an element by its ID.<br> </p> <pre class="brush:php;toolbar:false">const container = document.getElementById("container"); console.log(container); // Output: <div> <h4> <strong>B. Using querySelector</strong> </h4> <p>Select the first matching element.<br> </p> <pre class="brush:php;toolbar:false">const paragraph = document.querySelector("p"); console.log(paragraph); // Output: <p>Hello, World!</p>
DOM 조작을 마스터하는 것은 동적이고 대화형이며 사용자 친화적인 웹 애플리케이션을 만드는 데 필수적입니다.
안녕하세요. 저는 Abhay Singh Kathayat입니다!
저는 프론트엔드와 백엔드 기술 모두에 대한 전문 지식을 갖춘 풀스택 개발자입니다. 저는 효율적이고 확장 가능하며 사용자 친화적인 애플리케이션을 구축하기 위해 다양한 프로그래밍 언어와 프레임워크를 사용하여 작업합니다.
제 비즈니스 이메일(kaashshorts28@gmail.com)로 언제든지 연락주세요.
위 내용은 JavaScript에서 DOM 조작 마스터하기: 종합 가이드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!