2012-12-07 2 views
3

이러한 모든 방법의 차이점은 무엇입니까?

//1 
$('div').eq(index) 

//2 
$('div')[index] 

//3 
$($('div')[index]) 

//4 
$('div').get(1) 

동일합니까?

ScreenShot

+0

당신은 그렇게 생각합니다! – adeneo

+0

물론. 크롬 개발자 콘솔 –

+0

에서 동일한 결과물을 얻었습니다. 그런 다음 브라우저에 심각한 문제가있어 Google에 전화를 걸어 불평을 한 번에 받으십시오! – adeneo

답변

6

복귀의 jQuery 오브젝트 반면 복귀 DOM 요소 :

$("div").eq(index) === $($("div")[index]); // --> jQuery object 

$("div")[index] === $("div").get(index); // --> DOM element 

당신에게 지난 사건에 대해 여기에서 읽을 수 있습니다 : http://api.jquery.com/get/.

이 유형의 차이를 볼 필요가있는 경우는 콘솔에서 다음을 실행하려고 할 수 있습니다

Object.prototype.toString.call($("div").eq(index)); // "[object Object]" 
Object.prototype.toString.call($("div")[index]); // "[object HTMLDivElement]" 
3

First and third 당신에게 jQuery 개체를 얻을 것이다 두 번째는 당신에게 DOM 객체를 제공 할 것입니다.

  1. $('div').eq(index)// 돌아갑니다 JQuery와 객체

  2. $('div')[index]// 자바 스크립트 DOM 객체 당신에게 줄 것이다

  3. $($('div')[index])// DOM 객체를 변환하여 당신의 jQuery 객체를 줄 것이다

개체의 id 인스턴스를위한 속성을 가져 오는 데는 다른 구문이 필요합니다.

idofobject = $('div').eq(index).attr('id') //jQuery 

idofobject = $('div')[index].id   //javascript 
2

$('div').eq(index) 이이 당신에게 줄 것이다 JQuery와 객체를

$('div')[index] 을 반환 자바 스크립트 객체

1
  • v1의 한 사업부을 포함하는 jQuery를 감싸 컬렉션을 반환 :: $('div').eq(index).

  • V2 : DOM 요소에 대한 참조를 반환 :: $('div')[index]은 (는하지 jQuery를 감싸)

  • V3 하나 DIV 이루어지는 jQuery를 감싸 컬렉션을 반환 :: $($('div')[index]). 이것은 v1의 길고 비효율적 인 버전입니다.

당신은 $('div').get(index)에 대해 물어 보지 않았습니다. 이것은 v2를 달성하는 또 다른 방법입니다. AFAIK, 그다지 효율적이지 않습니다.