Dseok의 실전 예제로 웹개발 한방에 끝내기

웹개발, 혼자 하려니 막막하고 힘드시죠? 저 또한 그렇습니다. 힘든 웹개발... 실전 예제를 통해 함께 공부해요!!!!😁📕

jQuery

[Dseok의 코딩스터디] javascript & jquery .ready() 개념 한방에 끝내기 & 실용 예제 7가지

Dseok 2025. 2. 25. 09:05
반응형
SMALL

📌 .ready()란?

jQuery.ready() 메서드는 DOM(Document Object Model)이 로드된 후 실행되는 이벤트 핸들러입니다.
즉, 웹 페이지의 HTML 요소들이 준비된 후 JavaScript 코드를 실행할 수 있도록 도와줍니다.

💡 왜 중요할까?

  • HTML 요소가 아직 생성되지 않은 상태에서 JavaScript를 실행하면 오류가 발생할 수 있음
  • .ready()를 사용하면 HTML 요소가 모두 로드된 후 실행되므로 안정적인 코드 실행 가능

✅ 기본 문법

$(document).ready(function() {
    // 실행할 코드
});

또는 단축 문법

$(function() {
    // 실행할 코드
});
 

📌 .ready() vs $(window).load() 차이점

메서드실행 시점실행 대상

.ready() DOM 트리가 준비되면 실행 HTML 요소만 로드됨 (이미지, 동영상 제외)
$(window).load() 페이지의 모든 요소(이미지 포함)가 로드되면 실행 HTML + 이미지, 스타일시트, 프레임 등 모두 포함

비교 예제

<!doctype html>
<html lang="ko">
<head>
  <meta charset="utf-8">
  <title>ready vs load</title>
  <script src="https://code.jquery.com/jquery-3.7.1.js"></script>
</head>
<body>
<img src="large-image.jpg" alt="큰 이미지">
<p>이 페이지에는 이미지가 포함되어 있습니다.</p>

<script>
// DOM이 준비되면 실행됨 (이미지 로드 기다리지 않음)
$(document).ready(function() {
    console.log("📌 DOM 로드 완료");
});

// 페이지의 모든 요소(이미지 포함)가 로드된 후 실행됨
$(window).on("load", function() {
    console.log("✅ 전체 페이지 로드 완료");
});
</script>
</body>
</html>

설명: .ready()HTML 요소가 준비된 후 실행되지만, .load()이미지 등 모든 요소가 로드된 후 실행됩니다.

 

📌 .ready() 실용 예제 10가지

1️⃣ 특정 요소 스타일 변경

<!doctype html>
<html lang="ko">
<head>
  <meta charset="utf-8">
  <title>ready demo</title>
  <script src="https://code.jquery.com/jquery-3.7.1.js"></script>
</head>
<body>
<p>Hello, world!</p>

<script>
$(document).ready(function() {
    $("p").css("color", "blue");
});
</script>
</body>
</html>

설명: DOM이 준비되면 <p> 태그의 글자색을 파란색으로 변경합니다.

 

2️⃣ 버튼 클릭 이벤트 등록

<button id="btn">클릭하세요</button>
<p id="msg"></p>

<script>
$(document).ready(function() {
    $("#btn").click(function() {
        $("#msg").text("버튼이 클릭되었습니다!");
    });
});
</script>

설명: 버튼 클릭 시 <p> 태그의 텍스트를 변경합니다.

 

3️⃣ 입력 필드 자동 포커스

<input type="text" id="name" placeholder="이름 입력">

<script>
$(document).ready(function() {
    $("#name").focus();
});
</script>

설명: 페이지 로드 후 입력 필드에 자동으로 포커스를 맞춥니다.

 

4️⃣ 모든 이미지가 로드된 후 스타일 적용

<img src="image.jpg" alt="샘플 이미지">

<script>
$(window).on("load", function() {
    $("img").css("border", "2px solid red");
});
</script>

설명: 모든 이미지가 로드된 후 빨간색 테두리를 추가합니다.

 

5️⃣ 특정 요소 숨기기

<p id="text">이 텍스트는 숨겨집니다.</p>

<script>
$(document).ready(function() {
    $("#text").hide();
});
</script>

설명: 페이지가 로드되면 특정 요소를 숨깁니다.

 

6️⃣ 특정 클래스가 있는 요소 찾기

<ul>
  <li>Apple</li>
  <li class="selected">Banana</li>
</ul>

<script>
$(document).ready(function() {
    $("li.selected").css("background", "yellow");
});
</script>

설명: .selected 클래스를 가진 <li> 요소의 배경을 노란색으로 변경합니다.

 

7️⃣ 키보드 입력 감지

<input type="text" id="input">
<p id="output"></p>

<script>
$(document).ready(function() {
    $("#input").on("keyup", function() {
        $("#output").text($(this).val());
    });
});
</script>

설명: 입력된 값을 실시간으로 <p> 태그에 표시합니다.

 

📌 마무리 🎯

  • .ready()DOM이 준비되면 실행되므로 안정적인 코드 실행이 가능
  • .load()모든 요소(이미지 포함) 로드 후 실행됨
  • .ready()를 활용하여 스타일 적용, 이벤트 등록, 입력 처리 등 다양한 기능 구현 가능

🚀 이제 .ready()를 활용하여 동적인 웹 페이지를 만들어 보세요!

 

반응형
LIST