본문 바로가기
카테고리 없음

자바스크립트 DOM 조작 기본부터 jQuery와 비교 실습(중요)

by ody스크립터 2025. 5. 20.
반응형

이번 강좌에서는 자바스크립트 DOM 조작 기본 개념과 함께 jQuery와의 차이를 직접 실습해볼께요.

실습 예제를 통해 클래스 추가/삭제, 요소 삽입, 애니메이션 효과까지 한 번에 익혀보세요! 😄

 

📌 DOM(Document Object Model) 이란?

DOM은 웹 문서를 구조화해서 자바스크립트로 HTML 요소를 쉽게 제어할 수 있도록 해주는 개념입니다.

  • HTML 문서의 모든 태그 → 객체화
  • 자바스크립트를 이용해 해당 요소에 접근, 변경, 삭제 가능


🎮 DOM 조작 기본 실습(JS vs jQuery)

1️⃣ 텍스트 내용 바꾸기

다음 실습으로 자바스크립트와 jQuery로 h2 태그 내용을 변경해볼게요.

<button onclick="changeTitleJS()">JS로 제목 바꾸기</button>
<button onclick="changeTitleJQ()">jQuery로 제목 바꾸기</button>

<script src="https://code.jquery.com/jquery-3.7.1.min.js"></script>
<script>
function changeTitleJS() {
  document.getElementById("title").textContent = "자바스크립트로 변경!";
}

function changeTitleJQ() {
  $("#title").text("jQuery로 변경!");
}
</script>

2️⃣ 클래스 추가/제거

<style>
  .highlight { color: #fff; background: #007bff; padding: 5px; border-radius: 4px; }
</style>

<button onclick="addClassJS()">JS로 클래스 추가</button>
<button onclick="removeClassJS()">JS로 클래스 제거</button>
<button onclick="addClassJQ()">jQuery로 클래스 추가</button>
<button onclick="removeClassJQ()">jQuery로 클래스 제거</button>

<script>
function addClassJS() {
  document.getElementById("title").classList.add("highlight");
}

function removeClassJS() {
  document.getElementById("title").classList.remove("highlight");
}

function addClassJQ() {
  $("#title").addClass("highlight");
}

function removeClassJQ() {
  $("#title").removeClass("highlight");
}
</script>

3️⃣ 새 요소 삽입하기

<ul id="list">
  <li>첫 번째</li>
  <li>두 번째</li>
</ul>

<button onclick="addItemJS()">JS로 항목 추가</button>
<button onclick="addItemJQ()">jQuery로 항목 추가</button>

<script>
function addItemJS() {
  const newItem = document.createElement("li");
  newItem.textContent = "JS로 추가된 항목";
  document.getElementById("list").appendChild(newItem);
}

function addItemJQ() {
  $("#list").append("<li>jQuery로 추가된 항목</li>");
}
</script>

4️⃣ 페이드 애니메이션 효과

<button onclick="hideJS()">JS로 숨기기</button>
<button onclick="showJS()">JS로 보이기</button>
<button onclick="fadeOutJQ()">jQuery로 페이드 아웃</button>
<button onclick="fadeInJQ()">jQuery로 페이드 인</button>

<style>
#title { transition: all 0.5s ease; }
</style>

<script>
function hideJS() {
  document.getElementById("title").style.opacity = "0";
}

function showJS() {
  document.getElementById("title").style.opacity = "1";
}

function fadeOutJQ() {
  $("#title").fadeOut();
}

function fadeInJQ() {
  $("#title").fadeIn();
}
</script>

5️⃣ 슬라이드 애니메이션 효과

<button onclick="slideUpJS()">JS로 슬라이드 업</button>
<button onclick="slideDownJS()">JS로 슬라이드 다운</button>
<button onclick="slideUpJQ()">jQuery로 슬라이드 업</button>
<button onclick="slideDownJQ()">jQuery로 슬라이드 다운</button>

<style>
#slideTitle { background: #007bff; color: #fff; padding: 10px; margin: 10px 0; transition: all 0.5s ease; overflow: hidden; }
</style>

<script>
function slideUpJS() {
  const title = document.getElementById("slideTitle");
  title.style.height = "0";
  title.style.padding = "0";
  title.style.opacity = "0";
}

function slideDownJS() {
  const title = document.getElementById("slideTitle");
  title.style.height = "50px";
  title.style.padding = "10px";
  title.style.opacity = "1";
}

function slideUpJQ() {
  $("#slideTitle").slideUp();
}

function slideDownJQ() {
  $("#slideTitle").slideDown();
}
</script>

 

📊 자바스크립트와 jQuery DOM 조작 비교표

기능 자바스크립트 jQuery
텍스트 변경 element.textContent = "텍스트" $(선택자).text("텍스트")
클래스 추가 element.classList.add("클래스") $(선택자).addClass("클래스")
새 요소 추가 createElement + appendChild $(선택자).append("HTML")
페이드 효과 style.opacity 조절 fadeIn() / fadeOut()
슬라이드 효과 style.height, padding 조절 slideUp() / slideDown()

 

✅ 정리

이번 강좌를 통해 자바스크립트로 DOM 조작하는 방법jQuery로 같은 기능을 더 간결하게 처리하는 방법을 실습해보며 익혀보았습니다.

 

HTML 요소의 내용을 바꾸고, 클래스를 추가하거나 제거하고, 새 요소를 삽입하고, 애니메이션 효과까지 다양한 DOM 조작이 가능합니다.

 

실제로 직접 코드를 실행해보면서 체득하는 게 가장 빠릅니다! 😄

 

계속해서 이런 식으로 DOM 조작을 익히면, 웹페이지에 동적인 기능을 추가하는 게 아주 쉬워질 거예요.

반응형