부모 객체태그를 jquery의 선택자로 선택하는 방법


◆ closest() vs parents()

두개의 메서드 모두 부모객체를 반환해 주는 메서드이다.
( 부모객체의 형제태그 까지는 찾지 않음 )


▶ closest() vs parents() 차이

  • parents()
    인자에 해당 하는 모든 부모레벨의 객체를 배열로 담아온다.따라서, 해당 부모객체 전체가 제어된다. ( 단 출력은 [0]인덱스의 객체를 출력하게 된다. )


  • closest()
    인자에 해당하는 제일 가까운 부모객체만 반환된다. 따라서 바로 위 부모객체만을 제어할 수 있다.
<span class="level1"></span>
<span class="level2"> 
	<span class="level3"> 
		<a id="a"></a>
	</span>
</span>

<script>
// 반환은 같음
console.log($("#a").parents("span")); => level3 반환
console.log($("#a").closest("span")); => level3 반환

// level3, level2 모두 배경색 변경
$("#a").parents("div").css("background","yellow");
// level3 배경색 변경
$("#a").closest("div").css("background","yellow");
</script>