jQuery 순회 - has() 메서드

예제

또한 어떤 요소가 다른 요소에 포함되어 있는지 검사합니다:

$("ul").append("<li>" + ($("ul")..has("li").length ? "Yes" : "No") + "</li>");
$("ul").has("li").addClass("full");

직접 시도해 보세요

정의와 사용법

has()는 일치하는 요소 집합을 지정된 선택자나 DOM 요소를 가진 후손을 가진 자식 집합으로 줄입니다.

문법

.has(selector)
파라미터 설명
selector 일치하는 요소의 선택자 표현식을 포함하는 문자열 값.

상세 설명

DOM 요소 집합을 나타내는 jQuery 객체가 주어지면, .has() 메서드는 일치하는 요소의 자식 집합을 사용하여 새로운 jQuery 객체를 생성합니다. 사용된 선택자는 일치하는 요소의 후손을 검사하는 데 사용되며, 어떤 후손 요소도 이 선택자와 일치하면, 이 요소는 결과에 포함됩니다.

아래와 같은 내부 목록이 포함된 페이지를 생각해 보세요:

<ul>
  <li>목록 항목 1</li>
  <li>목록 항목 2</li>
    <ul>
      <li>목록 항목 2-a</li>
      <li>목록 항목 2-b</li>
    </ul>
  </li>
  <li>목록 항목 3</li>
  <li>목록 항목 4</li>
</ul>

이와 같이 목록 항목 집합에 이 메서드를 적용할 수 있습니다:

$('li').has('ul').css('background-color', 'red');

직접 시도해 보세요

이 호출의 결과는, 프로젝트 2의 배경이 빨간색으로 설정되었으며, 이는 이 프로젝트가 후손 중에 유일하게 <ul>를 가진 <li>인 것입니다.