jquery $는 실제로 무엇을 반환합니까?


113

나는 JQuery 문서를 읽었으며 함수를 전달 해야하는 것에 많은주의를 기울 였지만 실제로 반환 하는 것에 대한 정보는 볼 수 없습니다 .

특히 요소가 하나만 발견 되어도 항상 배열을 반환합니까? 아무것도 발견되지 않으면 null을 반환합니까? 이 문서는 어디에 있습니까?

jquery 메서드를 반환 값에 적용 할 수 있다는 것을 알고 있지만 반환 값을 직접 사용하려면 어떻게해야합니까?

답변:


76

에서 릭 Strahl의 설명 :

jQuery 객체 : 래핑 된 집합 : 선택기는 선택된 모든 DOM 요소를 포함하는 배열과 유사한 구조 인 "래핑 된 집합"으로 알려진 jQuery 객체를 반환합니다. 배열처럼 래핑 된 집합을 반복하거나 인덱서 (예 : $ (sel) [0])를 통해 개별 요소에 액세스 할 수 있습니다. 더 중요한 것은 선택한 모든 요소에 대해 jQuery 함수를 적용 할 수도 있다는 것입니다.

아무것도 반환하지 않는 경우 :

항상 배열을 반환합니까? null을 반환합니까?

내용이 있든 없든 항상 똑같은 것을 돌려받습니다. 일반적으로 .val () (예 : $ ( '. myElem'). val ())을 사용하여이를 확인할 수 있습니다.


1
좋아요, 고마워요 ... 이것은 매우 도움이됩니다. 사용자 정의 객체가 동시에 "배열과 유사"할 수 있다는 사실을 몰랐습니다. 이것이 jquery의 천재라고 생각합니다.
harpo

천만에요-저는 또한 Rick Strahl의 기사에 대한 전체 링크를 편집하고 추가했습니다. 좋은 읽기입니다.
Ian Robinson

14
나를 여기로 이끄는 질문, 즉 무엇이든 발견되었는지 어떻게 확인합니까? $ (query) .length를 사용했습니다 .
harpo

3
집합과 같은 배열이란 무엇입니까 .... 배열입니까, 객체입니까? 아니면 정확할 수 있습니까?

26

배열을 반환하지 않고 jQuery 객체를 반환합니다. jQuery 객체는 모든 특수 jQuery 메서드를 포함합니다.

null 또는 다른 유형을 반환하지 않습니다. 하나의 요소가 발견되면 jQuery 객체에는 자식이 하나만 있습니다. 요소가 없으면 jQuery 개체는 비어 있습니다.


6

jQuery 함수 (예 : " $")는 항상 모든 인스턴스에서 jQuery 객체를 반환합니다.


4
@harpo : 전혀; 문제의 개체의 이름이 잘못되었습니다. "jQuery 객체", 일명 $"jQuery 객체", 일명 "래핑 된 세트".
Sean McMillan 2011

5

다른 응답자가 언급했듯이 항상 jQuery 객체를 반환합니다.

이 객체는 항상 요소의 배열을 포함합니다 (빈 배열이거나 객체가 하나 뿐인 배열 인 경우에도).

반환 된 객체를 일반 요소와 같이 "직접"으로 사용하려면 다음 중 하나를 수행 할 수 있습니다.

$('selector')[0] // element
$('selector').get(0) // element
$('selector').length // number of elements in the array

3

로부터 의 jQuery 문서 :

jQuery 객체 자체는 배열처럼 작동합니다. 길이 속성이 있으며 개체의 요소는 숫자 인덱스 [0]에서 [length-1]까지 액세스 할 수 있습니다. jQuery 객체는 실제로 Javascript Array 객체가 아니므로 join ()과 같은 실제 Array 객체의 모든 메서드를 가지고 있지는 않습니다.


2

$ ()가 항상 jQuery 함수를 반환한다는 사실을 통해 jQuery 함수 호출을 신중하게 연결할 수 있습니다.


1
물어보기! $()jQuery 함수 ( $자체)를 반환하지 않지만 모든 유용한 메서드와 함께 래핑 된 집합을 반환합니다.
Sean McMillan 2011

1

Jquery 선택기 메커니즘

$("..") jquery 선택기 인은 일치하는 요소를 선택하는 데 사용됩니다.

반환 값

항상 length속성 이있는 배열과 같은 jquery 객체를 반환합니다 .

반환 된 jquery 객체에 대한 호출 메서드

jquery 메소드는 객체에서 호출 될 수 있으며 선택한 요소에 적용됩니다.

색인으로 원래 요소에 액세스

선택된 요소는 객체의 속성으로 저장되며, 속성 이름은 0부터 시작하는 인덱스 번호
이므로 인덱스로 액세스 할 수 있으며 0부터 시작할 수 있습니다
. 원래 요소를 가져온 후에는에서 얻은 것처럼 처리 할 수 ​​있습니다 document.getElementXxx().

원래 요소를 jquery 객체로 래핑

후 당신은 호출하여, JQuery와 개체 수를 포장 할 수 있습니다, 원래의 요소를 얻을 $(originalEle),
당신은, 랩 된 오브젝트에 JQuery와 메소드를 호출 할 수 있습니다.


0

방화범에 따르면 선택기와 일치하는 객체 배열을 반환합니다. 그러나이 배열은 단순한 배열보다 메소드가 많은 jQuery 객체입니다.


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.