jQuery 에서 .eq() 와 .get() 의 차이

프론티어2015-04-22 19:17:22545010jQuery, get, eq

jQuery 를 사용하다 보면 가끔 헷갈릴때가 있죠.

기본적으로 jQuery API 들은 선택자를 기준으로 확장집합(wrapped set) 이라는 Array 를 돌려 줍니다.
이를 기반으로 jQuery 의 Method Chain 이 가능하게 됩니다.

그런데, 가끔 예외(?)가 존재하는데 get 이 대표적인 경우입니다.
get 은 jQuery Object 가 아니라, DOM element 를 돌려줍니다.

예를 들어 보죠.

이미지

여기서 $("li").eq(0) 와 $("li").get(0) 는 어떻게 다를까요?

  • $("li").eq(0) - jQuery 확장집합 돌려줌
  • $("li").get(0) - DOM element 돌려줌
    이미지

따라서

  • $("li").eq(0).hide() 는 가능하지만,
  • $("li").get(0).hide() 는 에러가 발생합니다.

정리하자면..

$("li").get(0) == $("li").eq(0)[0]

입니다.