Cash — это лёгкая альтернатива jQuery с современным синтаксисом, предназначенная для упрощения работы с DOM, событиями и AJAX. Она сохраняет знакомый стиль выборки элементов и методов работы с ними, при этом минимизирует вес библиотеки и повышает производительность.
Cash может быть подключен как через CDN, так и через менеджеры пакетов:
<script src="https://cdn.jsdelivr.net/npm/cash-dom@8/dist/cash.min.js"></script>
Или через npm:
npm install cash-dom
В модульной системе можно импортировать:
import $ from 'cash-dom';
Cash использует знакомый CSS-селекторный синтаксис:
const items = $('.item'); // выбирает все элементы с классом item
const main = $('#main'); // выбирает элемент с id main
Метод возвращает объект Cash, который ведёт себя как массив элементов с расширенными методами для манипуляций.
Добавление и удаление классов
$('.item').addClass('active');
$('.item').removeClass('inactive');
$('.item').toggleClass('highlighted');
Работа с атрибутами и свойствами
$('#link').attr('href', 'https://example.com');
const value = $('#input').val();
$('#input').val('Новое значение');
Изменение содержимого
$('.container').html('<p>Новый текст</p>');
$('.container').text('Простой текст');
Добавление и удаление элементов
$('<div class="new-item">Текст</div>').appendTo('.container');
$('.item:last').remove();
Cash поддерживает методы для подписки на события и их удаления.
Простое событие
$('.button').on('click', () => {
console.log('Кнопка нажата');
});
Удаление события
const handler = () => console.log('Нажатие');
$('.button').on('click', handler);
$('.button').off('click', handler);
События с делегированием
$('.list').on('click', '.item', (e) => {
console.log('Нажат элемент списка', e.target);
});
Cash реализует простые методы для анимаций:
$('.box').hide(); // скрывает элемент
$('.box').show(); // показывает элемент
$('.box').fadeIn(500); // плавное появление
$('.box').fadeOut(500); // плавное скрытие
Методы slideUp, slideDown также
поддерживаются аналогично jQuery.
Cash предоставляет удобные методы для работы с AJAX:
$.ajax({
url: '/api/data',
method: 'GET',
dataType: 'json',
success: function(response) {
console.log('Данные получены', response);
},
error: function(err) {
console.error('Ошибка запроса', err);
}
});
Существуют сокращённые методы:
$.get('/api/data', function(response) {
console.log(response);
});
$.post('/api/data', { key: 'value' }, function(response) {
console.log(response);
});
Cash поддерживает метод chaining, что позволяет объединять несколько действий:
$('.item')
.addClass('active')
.text('Обновлённый текст')
.fadeIn(300);
Cash ориентирован на современные браузеры и не поддерживает старые версии Internet Explorer. Библиотека минимизирована, что снижает вес страницы и ускоряет загрузку. Некоторые сложные плагины jQuery могут потребовать адаптации под Cash, но базовые методы идентичны.
Cash позволяет расширять функциональность с помощью пользовательских плагинов:
$.fn.extend({
highlight: function(color = 'yellow') {
return this.css('background-color', color);
}
});
$('.item').highlight();
Расширение $.fn делает метод доступным для всех объектов
Cash.
$()Cash объединяет компактность и функциональность, позволяя создавать современные веб-приложения с минимальным количеством кода и высокой читаемостью.