본문 바로가기
프로그래밍/jQuery

jQuery API 정복 - 자식 중에 태그 찾기 : jQuery(':has(selector)')

by zoo10 2011. 2. 9.

:has() 는 자식 요소들 중에 특정 요소를 찾을 수 있습니다.

원문 링크 http://api.jquery.com/has-selector/

has selector

  • jQuery(':has(selector)')
  • selector Any selector

has 는 have 의 3인칭 표현이잖아요. ㅎㅎㅎ '가지고 있다' 라는 뜻이죠? 그쵸? 아 중딩때 영어성적 뽀록나는 순간인가요 :). 어쨌거나 저쨌거나, 뜻풀이 만으로 이 선택자는 무엇을 하는 선택자인지 직관적으로 와닿네요. 무엇이 되었든 뭔가를 가지고 있다면 이라고 해석할 수 있겠네요.

$('div:has(p)') 라고 했다면 p 태그를 가진 div 태그를 찾아낼 수 있겠네요. p 태그가 자식요소로 들어만 있으면 됩니다. 그 단계가 몇 단계인지는 고려치 않네요.

예 제  
div 중에 paragraph(p 태그)를 가지고 있으면 "test" 라는 클래스를 적용한다.

<!DOCTYPE html>
<html>
<head>
  <style>
  .test{ border: 3px inset red; }
  </style>
  <script src="http://code.jquery.com/jquery-1.4.4.js"></script>
</head>
<body>
  <div><p>Hello in a paragraph</p></div>

  <div>Hello again! (with no paragraph)</div>
<script>$("div:has(p)").addClass("test");</script>

</body>
</html>

미리보기

addClass() 함수가 등장했네요. 특정한 클래스를 부여하거나 삭제하기 위한 함수입니다. 무척이나 쓸모가 많은 함수입니다. 궁금하시면 검색으로 먼저 정보를 얻어 보세요.

 

쉽지만 그리 활용도가 있을지는 의문입니다. 이 예제 중에 나온 addClass() 함수가 더 중요해 보이네요.

그럼 즐프하세요.

※ 본 예제는 http://www.jquery.com 에 있는 내용임을 밝힙니다.