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

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



답변

예. 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 이상 릴리스에서는 쉼표로 구분 된 모든 선택기가 문서 순서대로 반환됩니다.


답변

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

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

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


답변

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


답변

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

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


답변