주문 객체가 지정된 jQuery 선택기에 의해 반환됩니까?


93

모든 jQuery 선택기는 객체 배열을 반환합니다. 이러한 객체는 항상 HTML과 동일한 순서입니까? 이것에 믿을 수 있습니까?

답변:


115

예. jQuery를 1.3.2 릴리스 노트는 말한다 :

문서 순서로 반환되는 요소

이것은 선택기가 전달 된 순서 대신 반환 된 결과를 문서 순서로 다시 정렬하는 jQuery의 선택기 엔진에 대한 변경입니다.이 변경은 Selectors API 사양 ( jQuery는이를 지원하는 브라우저에서 내부적으로 사용합니다.)

이것은 jQuery 1.3 의 경우가 아닙니다 .

"a, b, c"스타일 선택기의 순서는 변경 될 수 있습니다. querySelectorAll (Safari, Firefox 3.5+, Opera 10+, IE 8+)을 지원하는 브라우저는 문서 순서대로 요소를 반환하고, 다른 브라우저는 (현재) 지정된 순서대로 요소를 반환합니다. 1.3.2 이상 릴리스에서는 쉼표로 구분 된 모든 선택기가 문서 순서대로 반환됩니다.


1
흥미롭게도 릴리스 노트에 포함되어 있고 의미도 있지만 누군가 api.jquery.com/multiple-selector 에 넣는 것을 잊었습니다. 친애하는 누군가,이 정보도 거기에 추가하십시오 :)!
jave.web

대답은 정말 오래되었습니다. 누군가 업데이트 된 링크를 찾았습니까?
Daniel Leach

1
@DanielLeach-링크를 업데이트했습니다. 감사합니다. 이 동작은 여전히 ​​정확해야합니다. 최신 버전에 대한 문서도 여기에 있습니다. api.jquery.com/multiple-selector
Kobi

8

예를 들어 prevAll () 문서에서 몇 가지 예외가있을 수 있습니다.

"DOM 요소 집합을 나타내는 jQuery 객체가 제공되면 .prevAll () 메서드는 DOM 트리에서 이러한 요소의 선행 요소를 검색하고 일치하는 요소에서 새 jQuery 객체를 생성합니다. 요소는 가장 가까운 형제 . "

http://api.jquery.com/prevAll/


3

예, DOM에있는 것처럼 항상 순서대로 있습니다.


0

아마도 그들이 찾는 순서대로, 선택기는 DOM을 거의 순회하고 일치하는 요소를 찾으면 배열에 넣습니다.

n이 숫자 인 "textbox_n"의 id를 가진 5 개의 텍스트 상자를 말하여 테스트를 할 수 있습니다. 그런 다음 목록에 경고를 표시하고 결과를 확인하십시오.

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