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>인 것입니다.