JQuery Closest(), Parent(), Parents()마우스 클릭 이벤트와 같은 이벤트를 발생시킬 때 상위 태그나 요소를 찾을 일이 종종 발생한다. Show 이때 사용할 수 있는 jquery 함수는 3가지가 있다. 이 세가지는 아주 흔히 사용되는 함수로 반드시 기억해 둔다. .closest() // .closest("div") 와 같이 사용하여 원하는 특정 요소만 찾을 수 있음. .parent() // 바로 상위 요소 하나를 찾아줌. .parents() // 상위 모든 요소를 반환함. 예제로 살펴보면 아래와 같다. <div class="top"> <div class="bottom"> <a href="#none" id="clickButton">Find parent element</a> </div> </div> 페이지에 clickButton 이라는 id를 가진 a태그를 클릭 했다고 가정했을 때, 아래 주석처럼 각각의 결과물을 확인할 수 있다. .closest() var tmp = $(this).closest("div"); // tmp에는 클래스 명 "bottom"이 저장된다. .parent() var tmp = $(this).parent("div"); // tmp에는 "bottom"이라는 class의 div가 저장된다. .parents() var tmp = $(this).parents("div"); // tmp에는 "bottom"이라는 class와 "top"이라는 클래스의 div가 모두 저장된다. 각각 함수의 속도차를 비교해 보면 closest 함수가 좀 더 빠르다. 속도에 민감한 서비스는 이런 부분도 신경 쓰면 좋을듯?ㅎ .closest()는 현재 위치에서 상위 요소로 .parent() 는 상위에서 하위로 찾는 방식이다. 결국 동작하는 원리가 서로 달라서 속도 차이가 발생하는 것 같다. 관련 자료: www.sitepoint.com/jquerys-closest-parents/
1. 부모 찾기
예제 코드1 2. 형제 찾기
예제 코드 3. 자식 찾기
예제 코드 웹/jquery 관련 글
댓글을 달아 주세요parent는 익숙해도 sibling은 쓸 일이 적어서 자꾸 구글링 하는 내 자신을 위해... |