Свойства .length и .jquery

Определение и применение

Свойство .length показывает количество узлов в коллекции jQuery, а .jquery — версию библиотеки, создавшей её. Первое помогает проверить результат поиска, второе — диагностировать подключение библиотеки и совместимость плагина.

Синтаксис

JavaScript
const count = $("li").length;
const version = $("li").jquery;
const sameVersion = $.fn.jquery;

Параметры и возвращаемое значение

Оба значения читаются без скобок: это свойства, а не методы. .length — число; для пустой коллекции оно равно 0. Сам объект пустой коллекции остаётся истинным в условии, поэтому if ($(".missing")) не проверяет наличие элемента.

.jquery — строка, доступная через прототип $.fn. Она существует даже у пустого набора. Не сравнивайте номера версий как обычные строки: например, порядок строк "3.10" и "3.9" не отражает порядок выпусков.

Особенности и совместимость

Коллекция не является живым списком: добавление нового узла в документ не увеличивает .length у ранее созданного набора. Повторите выборку, если нужен актуальный состав. Не изменяйте вручную .length или .jquery ради управления DOM или подмены версии.

Оба свойства доступны с 1.0. Наличие поля jquery само по себе не доказывает, что произвольный объект создан библиотекой: такое поле можно создать вручную.

Документация

Пример использования

Снимок коллекции: попробуйте сами

После добавления пункта сохранённая коллекция содержит два узла, новая — три. Ниже выводится версия 4.0.0. Используется jQuery 4.0.0.

index.html
HTML
<ul>
  <li>А</li>
  <li>Б</li>
</ul>
<pre id="result"></pre>
main.js
JavaScript
const items = $('li')
$('ul').append('<li>В</li>')
$('#result').text(items.length + ' → ' + $('li').length + ' | ' + items.jquery)