Справочник API

.eq() в jQuery

Содержание статьи
  • Категории: Traversing › Filtering

    Сокращает набор jQuery до 1 (одного) элемента, имеющего указанный индекс (отсчет начинается с 0).

Синтаксис и описание:

  • Добавлено в jQuery 1.1.2.eq( index )

  • Добавлено в jQuery 1.4.eq( -index )

  • Метод .eq() строит новый набор jQuery ровно из одного элемента — того, что стоит на позиции index в исходном наборе (нумерация с нуля). Если элемента с таким индексом нет, результатом будет пустой набор (.length === 0), без ошибки.

    Начиная с jQuery 1.4, index может быть отрицательным — отсчёт тогда идёт с конца набора: .eq(-1) — последний элемент, .eq(-2) — предпоследний.

Возвращаемое значение: (объект) Набор jQuery из одного элемента (или пустой набор).

Параметры:

  • index – (число) позиция элемента, отсчёт с 0; отрицательное значение — позиция от конца набора.

  1. Примечание:

    Отличие от .get(index): тот возвращает «голый» DOM-элемент, к которому методы jQuery напрямую не применить, а .eq() — набор jQuery из одного элемента, к которому можно и дальше цеплять .css(), .addClass() и другие методы.

  2. Примечание:

    Похожего результата раньше можно было добиться селектором :eq(index), но начиная с jQuery 3.4 этот псевдокласс объявлен deprecated — jQuery отказывается от собственных позиционных селекторов при переходе на нативный querySelectorAll. Используйте .eq().

  3. В jQuery 3.x и 4.0:

    .eq() полностью рабочий метод и в 3.7.1, и в 4.0, изменений не было. Для массивоподобных структур частичный нативный аналог с поддержкой отрицательного индекса — Array.prototype.at(index) (ES2022), применимый к результату .toArray(). Подробнее о выборе между позиционными селекторами и методами — в статье селекторы jQuery.

Примеры:

  1. Выделить второй элемент списка (индекс 1).

    $('li').eq(1).css('font-weight', 'bold');
  2. Обратиться к последнему элементу через отрицательный индекс.

    $('.slide').eq(-1).addClass('slide-last');
  3. Сравнение с .get(): .get(0) — DOM-элемент, .eq(0) — набор jQuery из одного элемента.

    var domNode = $('li').get(0); // HTMLElement
    var jqSet   = $('li').eq(0);  // объект jQuery, jqSet.length === 1

[ наверх ]

Вопросы и ответы

Для чего используется .eq() в jQuery?

Сокращает набор jQuery до 1 (одного) элемента, имеющего указанный индекс (отсчет начинается с 0).

Поиск по материалам

Начните вводить — поиск работает по заголовкам и тексту.

Esc — закрытьВсе материалы →