Вернулись ли объекты порядка с помощью селектора jQuery?
Все селекторы jQuery возвращают массив объектов. Являются ли эти объекты всегда в том же порядке, что и в HTML? Могу ли я полагаться на это?
- jQuery, выберите элемент внутри iframe, который находится внутри iframe
- Выбор элементов по атрибуту
- Как получить доступ к содержимому iframe с помощью jQuery?
- JQuery Как извлечь значение из тега href?
- как реплицировать pinterest.com's абсолютное расположение стека div
- Ошибка: поле заголовка запроса Content-Type недопустимо по заголовкам Access-Control-Allow-Headers
- Как я могу использовать JQuery для публикации данных JSON?
- дождитесь ответа на вызов jquery ajax от вызывающей функции
Да.
В примечаниях к выпуску jQuery 1.3.2 говорится:
Элементы, возвращенные в заказе документа
Это изменение механизма выбора jQuery, которое переупорядочивает возвращенные результаты в порядке документа, а не порядок, в котором были переданы селектора. Это изменение было выполнено для соответствия спецификации API Selectors (которая jQuery использует, внутри, в браузерах, которые его поддерживают).
Это не относится к jQuery 1.3 :
Порядок селекторов стиля «a, b, c» может измениться. Браузеры, поддерживающие querySelectorAll (Safari, Firefox 3.5+, Opera 10+, IE 8+), возвращают элементы в порядке документа, другие браузеры будут (в настоящее время) возвращать их в указанном порядке. В версии 1.3.2 и более поздних версиях все разделители, разделенные запятыми, будут возвращены в порядке документа.
Могут быть некоторые исключения, например, из документации prevAll ():
«Учитывая объект jQuery, представляющий набор элементов DOM, метод .prevAll () ищет через предшественники этих элементов в дереве DOM и конструирует новый объект jQuery из соответствующих элементов, элементы возвращаются в порядке, начиная с ближайшего брата “.
Да, они всегда в порядке, так как они находятся в DOM.
Вероятно, в том порядке, в котором он их находит, селектор довольно много перемещает DOM, и когда он находит элемент, который соответствует, помещает его в массив.
Возможно, вы можете сделать тест, указав 5 текстовых полей с идентификатором «textbox_n», где n – это число, затем предупредить список и посмотреть, что вы получаете?