CSS 클래스로 스타일 관리하기HTML 파일에 미리 정의된 CSS 클래스는 재사용성이 높고, 스타일의 변경이 필요할 때 CSS 파일만 수정하면 되므로 관리가 편리합니다./* styles.css */.notice { padding: 12px 16px; margin: 10px 0; border: 1px solid #4caf50; border-radius: 4px; background-color: #d7ffd7; font-family: Arial, sans-serif; color: #2e7d32;}이제 HTML과 자바스크립트를 통해 동적으로 이 클래스를 추가하는 방법을 살펴보겠습니다. 클래스 조작에는 classList를 사용하는 것이 좋습니다. classList.add(), classList..
DOM 노드 생성하기자바스크립트에서는 document.createElement와 document.createTextNode 메서드를 사용해 새로운 DOM 노드를 만들 수 있습니다. 노드 삽입 메서드DOM 노드를 문서 내 원하는 위치에 삽입하는 데는 여러 메서드가 있습니다.append() / prepend()지정한 요소의 마지막 혹은 첫 번째 자식으로 삽입합니다.before() / after()지정한 요소의 바로 앞이나 뒤에 삽입합니다.replaceWith()지정한 요소를 새로운 노드로 대체합니다. 첫 번째 항목 두 번째 항목 세 번째 항목 노드 삭제와 복제노드 삭제요소를 삭제하려면 node.remove() 메서드를 사용하면 됩니다. 잠시 후 이 메시지는 사라집니다. ..
DOM 프로퍼티란?브라우저가 HTML을 파싱할 때, 각 요소는 자바스크립트 객체로 변환됩니다. 이때 표준 HTML 속성들은 DOM 프로퍼티로 자동 생성됩니다. 예를 들어, 다음 HTML 코드가 있을 때:Content here브라우저는 이를 아래와 같이 DOM 객체의 프로퍼티로 만듭니다// DOM에서 접근하는 예const mainDiv = document.getElementById('main');console.log(mainDiv.id); // "main"console.log(mainDiv.className); // "container"DOM 객체는 일반 자바스크립트 객체이므로, 새로운 프로퍼티나 메서드를 자유롭게 추가할 수 있습니다.// 사용자 정의 프로퍼티 추가document.body.myI..
DOM 노드와 공통 프로퍼티모든 DOM 노드는 Node 클래스를 기반으로 하며, 다음과 같은 공통 프로퍼티를 제공합니다.nodeType: 노드의 종류를 나타내는 숫자입니다.1: 요소 노드3: 텍스트 노드8: 주석 노드nodeName / tagNamenodeName은 모든 노드에서 사용할 수 있으며, 요소 노드인 경우 태그 이름을 반환합니다.tagName은 요소 노드에서만 사용 가능하며, HTML 모드에서는 항상 대문자로 반환됩니다.// HTML 예제:// Hello, world!const demo = document.getElementById('demo');// 요소 노드console.log("demo.nodeType:", demo.nodeType); // 1console.log("demo.nodeNam..
document.getElementById로 요소 접근하기요소에 id 속성이 지정되어 있다면, document.getElementById를 사용하면 문서 어디에 있든 해당 요소를 빠르게 찾을 수 있습니다.단, HTML 내 id 값은 유일해야 하며, 동일한 id가 여러 개 존재하면 결과가 예측 불가능해집니다. 사용자 프로필 이름: Alice 브라우저는 HTML 파일 내에서 자동으로 id와 같은 이름의 전역 변수를 생성하지만, 이러한 전역 변수는 네임스페이스 충돌의 위험이 있으므로 document.getElementById를 사용하는 것이 안전합니다.CSS 선택자를 이용한 검색: querySelector와 querySelectorAllquerySelectorquerySelector는 지정..
DOM의 진입점: document 객체모든 DOM 조작의 시작은 document 객체입니다. 이 객체를 통해 HTML 문서 전체에 접근할 수 있습니다.// 현재 문서의 body 요소의 배경색을 파란색으로 변경합니다.document.body.style.backgroundColor = "lightblue";// 2초 후 원래 배경으로 복구합니다.setTimeout(() => { document.body.style.backgroundColor = "";}, 2000);만약 Welcome This is a sample paragraph. Footer content 자식 노드 탐색: childNodes vs. childrenDOM 탐색을 위해 자식 노드에 접근..