Cash — это компактная и высокопроизводительная библиотека для работы с DOM в JavaScript, предлагающая синтаксис, похожий на jQuery, но с меньшим размером и большей скоростью. Она предоставляет инструменты для манипуляции элементами, обработки событий, работы с CSS и AJAX. Cash фокусируется на простоте использования и совместимости с современными браузерами, избавляя от необходимости подключения больших фреймворков для базовых операций.
Cash может использоваться через CDN или как модуль в проектах на основе npm. Для подключения через CDN достаточно добавить в HTML:
<script src="https://cdn.jsdelivr.net/npm/cash-dom/dist/cash.min.js"></script>
Для npm:
npm install cash-dom
И в коде Jav * aScript:
import $ from 'cash-dom';
После этого $ доступен для работы с DOM аналогично
jQuery.
Выбор элементов выполняется с помощью CSS-селекторов. Cash возвращает обертку, которая поддерживает методы работы с коллекцией элементов.
const items = $('.item'); // Выбирает все элементы с классом "item"
const header = $('#header'); // Элемент с id "header"
Важно: Cash возвращает живой объект, поэтому добавление новых элементов в DOM не обновляет автоматически существующие выборки. Для работы с динамическим контентом нужно повторно выполнять выборку.
Cash предоставляет методы для вставки, удаления и изменения элементов:
$('<div>Новый элемент</div>').appendTo('#container'); // Вставляет в конец контейнера
$('#container').prepend('<p>Привет</p>'); // Вставляет в начало контейнера
$('.old-item').remove(); // Полностью удаляет из DOM
$('#title').text('Новый заголовок'); // Изменяет текст
$('.link').attr('href', 'https://example.com'); // Устанавливает атрибут
$('#menu').addClass('active');
$('#menu').removeClass('inactive');
$('#menu').toggleClass('highlighted');
Cash позволяет читать и изменять стили элементов:
$('.box').css('color', 'red'); // Устанавливает цвет текста
const bgColor = $('.box').css('background-color'); // Получает значение CSS
Можно задавать несколько свойств одновременно:
$('.box').css({
color: 'white',
backgroundColor: 'blue',
padding: '10px'
});
Обработка событий в Cash выполняется через методы on и
off:
$('#button').on('click', () => {
console.log('Кнопка нажата');
});
$('#button').off('click'); // Убирает обработчик
Поддерживаются делегированные события:
$(document).on('click', '.dynamic-item', (e) => {
console.log('Нажат динамический элемент:', e.target);
});
Также есть удобные сокращенные методы для популярных событий:
$('#input').focus(() => console.log('Фокус'));
$('#input').blur(() => console.log('Потеря фокуса'));
Cash имеет встроенный метод $.ajax для работы с
HTTP-запросами:
$.ajax({
url: '/api/data',
method: 'GET',
success: (data) => console.log(data),
error: (err) => console.error(err)
});
Есть упрощенные методы $.get и $.post:
$.get('/api/data', (response) => console.log(response));
$.post('/api/send', { name: 'John' }, (response) => console.log(response));
Библиотека поддерживает базовые анимации с помощью методов
hide, show и toggle:
$('#box').hide(); // Скрыть элемент
$('#box').show(); // Показать элемент
$('#box').toggle(); // Переключение видимости
Можно указать скорость анимации:
$('#box').hide(500); // 500 мс
$('#box').show(300);
$('#box').toggle(200);
Cash позволяет создавать собственные расширения и подключать их как плагины. Плагин — это функция, добавляющая новые методы к объекту Cash.
Пример создания плагина:
$.fn.highlight = function(color = 'yellow') {
return this.css('background-color', color);
};
// Использование
$('.item').highlight('orange');
Любой метод, добавленный через $.fn, становится доступен
для всех выбранных элементов Cash.
Cash поддерживает большую часть синтаксиса jQuery, поэтому многие плагины можно использовать напрямую, если они не зависят от устаревших API или специфичных методов jQuery. Для интеграции иногда требуется небольшая адаптация кода.
Стандартная работа с Cash строится по схеме:
import $ или
<script>).Эта структура позволяет писать компактный и читаемый код, сохраняя гибкость и производительность веб-приложений.