본문 바로가기
개발/Javascript&Jquery

[jQuery] .find() 사용 방법과 .children() 과 차이점을 알아보자.

by 쓸있쏜 2024. 12. 13.

jQuery의 .find()를 찾아서 – 숨어있는 요소를 탐험하기!

안녕, 개발자 친구들! 오늘은 jQuery에서 아주 재미있는 .find() 메서드에 대해 알아볼 거야. 말 그대로 "찾기" 기능인데, 숨바꼭질 고수처럼 특정 요소를 찾아내는 방법이야. 자, 이제 개발이라는 탐험의 세계로 출발해 보자!


.find() 메서드란?

.find()는 jQuery의 메서드 중 하나로, 특정 요소의 자손 요소를 찾아서 선택하는 데 사용돼. 여기서 중요한 건 "자손 요소"라는 말이야. 부모-자식 관계를 따라 내려가면서 원하는 요소를 쏙쏙 골라내는 거지!

이게 왜 좋냐고? 큰 HTML 문서에서 원하는 요소를 정확히 찍어낼 수 있기 때문이야. 특히, 동적으로 생성된 요소들을 다룰 때 아주 유용하지!


사용법

사용법은 아주 간단해!

$(선택자).find(하위_선택자);
  • 선택자: 기준이 되는 요소. 즉, 탐험의 출발점이야!
  • 하위_선택자: 우리가 찾고자 하는 요소야.

간단한 예제

예제 1: 단순 탐색

<div id="container">
  <ul>
    <li>사과</li>
    <li>바나나</li>
    <li>딸기</li>
  </ul>
</div>
$('#container').find('li').css('color', 'red');

이 코드는 #container 안에 있는 모든 <li> 요소의 글자 색깔을 빨간색으로 바꿔줘. 마치 사냥꾼처럼 <li>만 콕 집어내는 거지!


예제 2: 조건부 탐색

<div class="box">
  <p class="highlight">이건 중요한 문장!</p>
  <p>이건 평범한 문장!</p>
</div>
$('.box').find('.highlight').css('background-color', 'yellow');

여기서는 .box 안에 있는 .highlight 클래스를 가진 <p> 태그를 찾아서 배경색을 노란색으로 바꿔줘. 탐험할 때 "이건 찾을 거야, 이건 아니야"라고 정할 수 있는 거지!


.find()와 .children()의 차이

혹시 .children()이랑 헷갈리진 않아? 나도 처음엔 그랬거든!

  • .find(): 자손 요소 전부를 탐색해. 즉, 자식, 손자, 증손자까지 전부 포함이지!
  • .children(): 바로 아래 있는 자식 요소만 선택해.
<div id="garden">
  <div class="flower">
    <span>장미</span>
  </div>
  <div class="flower">
    <span>튤립</span>
  </div>
</div>
$('#garden').find('span'); // 모든 <span> 요소를 찾아냄
$('#garden').children('.flower'); // 바로 아래의 <div class="flower">만 선택

현실에서의 활용

쇼핑몰 필터 기능

예를 들어, 쇼핑몰에서 특정 조건에 맞는 상품만 보여주고 싶을 때!

$('.product-list').find('.on-sale').show();

댓글 시스템

댓글에서 특정 키워드를 포함한 댓글만 하이라이트할 때도 유용해!

$('#comments').find('.keyword').css('font-weight', 'bold');

작은 주의사항

.find()는 강력하지만, 너무 많이 쓰면 성능이 떨어질 수 있어. 특히, DOM 구조가 복잡할수록 탐색 시간이 길어지니까 꼭 필요한 곳에만 사용해야 해!


결론

어때? .find() 참 쉽지? 마치 숨바꼭질에서 친구를 찾듯이, 원하는 요소를 정확히 찾아낼 수 있어. 개발이 조금 더 재미있어졌으면 좋겠어! 이제 너도 .find()를 써서 탐험가처럼 개발의 세계를 누벼 봐!

궁금한 게 있으면 언제든 물어봐. 함께 공부하자! 🚀

 

댓글