Dom7 — это компактная библиотека для работы с DOM, которая используется в основном во фреймворке Framework7, но может применяться и отдельно. Она предоставляет удобный API, схожий с jQuery, для выборки элементов, управления событиями, манипуляций с классами, атрибутами и стилями.
Для начала работы с Dom7 создается объект через функцию
$:
const $$ = Dom7;
или напрямую при подключении библиотеки:
const $$ = Dom7;
const button = $$('.button-class');
Выбор элементов осуществляется по CSS-селекторам:
.class — класс#id — идентификаторtag — имя тегаВозвращается коллекция элементов, даже если найден только один.
const items = $$('li'); // все элементы <li> на странице
Dom7 предоставляет удобные методы для работы с классами:
$$('.item').addClass('active'); // добавить класс
$$('.item').removeClass('active'); // удалить класс
$$('.item').toggleClass('active'); // переключить класс
Методы поддерживают цепочки вызовов, что позволяет писать компактный код:
$$('.item')
.addClass('highlight')
.removeClass('inactive')
.toggleClass('selected');
Методы .attr(), .removeAttr() и
.data() позволяют управлять атрибутами элементов:
const link = $$('a');
link.attr('href', 'https://example.com'); // установка атрибута
console.log(link.attr('href')); // получение атрибута
link.removeAttr('target'); // удаление атрибута
link.data('id', 123); // установка пользовательских данных
console.log(link.data('id')); // получение данных
Dom7 упрощает работу с CSS через метод .css():
$$('.box').css('color', 'red'); // установка одного свойства
$$('.box').css({ // установка нескольких свойств
'background-color': 'yellow',
'font-size': '16px'
});
Метод поддерживает как чтение, так и запись стилей:
const color = $$('.box').css('color');
Методы .text() и .html() позволяют
управлять содержимым элементов:
$$('.title').text('Новый заголовок'); // изменение текста
$$('.content').html('<p>Абзац с HTML</p>'); // изменение HTML
Чтение содержимого:
const text = $$('.title').text();
const html = $$('.content').html();
Dom7 обеспечивает удобное добавление и удаление событий:
$$('.button').on('click', function (event) {
console.log('Кнопка нажата');
});
$$('.button').off('click'); // удаление обработчика
Поддерживаются события мыши, клавиатуры, формы и кастомные события:
$$('.input').on('input', function () {
console.log('Значение изменено');
});
Можно использовать делегирование событий:
$$('.list').on('click', '.list-item', function () {
console.log('Нажат элемент списка');
});
Dom7 упрощает вставку, удаление и перемещение элементов:
const newItem = $$('<li>Новый элемент</li>');
$$('.list').append(newItem); // добавление в конец
$$('.list').prepend(newItem); // добавление в начало
$$('.item').before('<li>Перед элементом</li>'); // вставка перед
$$('.item').after('<li>После элемента</li>'); // вставка после
$$('.item').remove(); // удаление элементов
Методы .appendTo() и .prependTo() позволяют
перемещать элементы:
$$('<li>Перемещаемый элемент</li>').appendTo('.list');
Dom7 поддерживает цепочки вызовов, что позволяет объединять действия:
$$('.item')
.addClass('active')
.css({color: 'blue'})
.on('click', function () {
console.log('Элемент кликнут');
});
Такая структура делает код лаконичным и удобным для работы с множеством элементов одновременно.
Первый пример использования Dom7 демонстрирует основные возможности библиотеки: выбор элементов, изменение классов и стилей, управление атрибутами, вставку и удаление элементов, работу с текстом и событиями. Эти методы формируют фундамент для создания интерактивных интерфейсов без необходимости писать громоздкий код на чистом JavaScript.