В библиотеке Umbrella JS коллекции элементов всегда представлены объектом, похожим на массив, но с рядом дополнительных методов для работы с DOM. Несмотря на массивоподобную структуру, для доступа к отдельным элементам часто используется специализированный подход, который учитывает особенности библиотеки.
eq()Метод eq() позволяет выбрать элемент коллекции по
индексу, возвращая новый объект Umbrella JS, содержащий только этот
элемент.
u('li').eq(2); // Возвращает третий элемент списка <li>
Особенности работы метода:
eq(-1) вернет последний элемент.u('li').eq(0).addClass('active');
Каждый объект Umbrella JS поддерживает доступ к отдельным DOM-элементам через индекс, как в обычном массиве:
let firstItem = u('li')[0]; // Получение первого <li> как обычного DOM-элемента
firstItem.textContent = 'Измененный текст';
Разница с eq():
eq() возвращает объект Umbrella JS, что позволяет
продолжать цепочку методов.first() и
last()Для часто используемых случаев выбора первого или последнего элемента существуют удобные методы:
u('li').first(); // Первый элемент
u('li').last(); // Последний элемент
Эти методы эквивалентны:
u('li').eq(0); // first()
u('li').eq(-1); // last()
Использование first() и last() повышает
читаемость кода и делает намерение очевидным.
Выбор конкретного элемента часто используется совместно с методами для изменения DOM или работы с атрибутами:
// Добавление класса только третьему элементу
u('li').eq(2).addClass('highlight');
// Скрытие последнего элемента списка
u('li').last().hide();
// Изменение текста первого элемента
u('li').first().text('Начальный элемент');
get()Метод get() возвращает чистый
DOM-элемент по индексу и отличается от eq():
let thirdItem = u('li').get(2); // DOM-элемент, а не объект Umbrella
thirdItem.style.color = 'red';
Особенности метода get():
| Метод | Возвращаемое значение | Применение |
|---|---|---|
eq(i) |
Umbrella JS объект | Цепочка методов |
get(i) |
DOM-элемент | Прямое изменение DOM |
[i] |
DOM-элемент | Прямой доступ по индексу |
first() |
Umbrella JS объект (i=0) | Первый элемент коллекции |
last() |
Umbrella JS объект (i=-1) | Последний элемент коллекции |
eq(), first(), last().get() или доступ через [i].addClass,
removeClass, text, html,
attr для эффективной работы с конкретными узлами.Эти возможности делают выбор конкретного элемента гибким, позволяя одновременно сохранять преимущества удобной цепочной структуры Umbrella JS и прямого доступа к DOM при необходимости.