수

.closest (selector)

· 2017-08-20 (일) 16:00:12 · 2066

.closest (selector)


설명 : 집합의 각 요소에 대해 요소 자체를 테스트하고 DOM 트리에서 조상을 통해 위로 이동하여 선택기와 일치하는 첫 번째 요소를 가져옵니다.


DOM 요소 집합을 나타내는 jQuery 객체가 주어지면이 .closest()메소드는 DOM 트리에서 이러한 요소와 조상을 검색하고 일치하는 요소에서 새 jQuery 객체를 생성합니다. .parents()및 .closest()방법은 모두 DOM 트리를 횡단 점에서 유사하다. 이 둘의 차이는 미묘하지만 중요합니다.


<ul id="one" class="level-1">

  <li class="item-i">I</li>

  <li id="ii" class="item-ii">II

    <ul class="level-2">

      <li class="item-a">A</li>

      <li class="item-b">B

        <ul class="level-3">

          <li class="item-1">1</li>

          <li class="item-2">2</li>

          <li class="item-3">3</li>

        </ul>

      </li>

      <li class="item-c">C</li>

    </ul>

  </li>

  <li class="item-iii">III</li>

</ul>

<ul>항목 A에서 시작 하는 요소를 검색한다고 가정 해 보겠습니다 .


$( "li.item-a" )

  .closest( "ul" )

  .css( "background-color", "red" );

레벨 2의 색상이 변경 <ul>됩니다. DOM 트리 위로 올라갈 때 처음으로 발생하기 때문입니다.


<li>대신 에 요소를 검색한다고 가정 해보십시오 .



$( "li.item-a" )

  .closest( "li" )

  .css( "background-color", "red" );

이렇게하면 목록 항목 A의 색상이 변경 .closest()됩니다 . 메서드는 DOM 트리를 진행하기 전에 요소 자체에서 검색 을 시작하고 항목 A가 선택기와 일치하면 중지합니다.


가장 가까운 요소를 검색 할 컨텍스트로 DOM 요소를 전달할 수 있습니다.


var listItemII = document.getElementById( "ii" );

$( "li.item-a" )

  .closest( "ul", listItemII )

  .css( "background-color", "red" );

$( "li.item-a" )

  .closest( "#one", listItemII )

  .css( "background-color", "green" );

목록 항목 A <ul>의 첫 번째 상위 <ul>항목이고 목록 항목 II의 하위 항목 이기 때문에 레벨 2의 색상이 변경됩니다 . <ul>그러나 목록 항목 II의 하위 항목이 아니기 때문에 레벨 -1의 색상은 변경 되지 않습니다.

|
댓글을 작성하시려면 로그인이 필요합니다.

개발자팁

5,403건

개발과 관련된 유용한 정보를 공유하세요. 질문은 QA에서 해주시기 바랍니다.

+
분류 제목 글쓴이 날짜 조회
jQuery 18-01-25 조회 4,560
JavaScript 18-01-24 조회 8,591
기타 18-01-24 조회 2,831
웹서버 18-01-24 조회 3,089
기타 18-01-22 조회 7,896
기타 18-01-22 조회 5,798
웹서버 18-01-18 조회 6,913
PHP 18-01-12 조회 6,408
jQuery 18-01-10 조회 3,924
jQuery 18-01-10 조회 2,802
jQuery 18-01-10 조회 3,457
MySQL 18-01-08 조회 3,625
jQuery 18-01-08 조회 2,959
jQuery 18-01-08 조회 3,187
jQuery 18-01-08 조회 4,901
PHP 18-01-05 조회 4,833
jQuery 18-01-04 조회 4,639
jQuery 18-01-04 조회 3,258
jQuery 18-01-04 조회 2,711
jQuery 17-12-06 조회 2,897
jQuery 17-12-06 조회 3,669
jQuery 17-12-06 조회 3,493
jQuery 17-12-04 조회 2,867
jQuery 17-12-04 조회 2,117
jQuery 17-12-04 조회 3,072
jQuery 17-12-04 조회 2,936
jQuery 17-11-25 조회 2,746
jQuery 17-11-25 조회 2,671
jQuery 17-11-25 조회 2,365
jQuery 17-11-24 조회 2,434