Bliss.js предоставляет удобный и лаконичный API для работы с DOM-элементами и их свойствами. Одной из ключевых возможностей библиотеки является установка значений — это может касаться как атрибутов, так и стилей, содержимого элементов или пользовательских данных. Разберём основные подходы и методы, которые используются в Bliss.js для этих целей.
Метод attr() позволяет получать и устанавливать значения
атрибутов элементов. Его синтаксис гибкий:
element.attr('имя_атрибута', 'значение');
Пример:
var link = Bliss.$('a'); // Получаем первый элемент <a>
link.attr('href', 'https://example.com'); // Устанавливаем ссылку
link.attr('title', 'Перейти на Example'); // Устанавливаем подсказку
Можно устанавливать сразу несколько атрибутов, передав объект:
link.attr({
target: '_blank',
rel: 'noopener noreferrer'
});
Это особенно удобно при необходимости массовой инициализации элементов.
css()Метод css() работает аналогично attr(), но
предназначен для изменения стилей элементов. Он
принимает два основных формата:
element.css('color', 'red');
element.css('fontSize', '16px');
element.css({
backgroundColor: '#f0f0f0',
padding: '10px',
borderRadius: '5px'
});
Bliss.js автоматически преобразует названия стилей из
camelCase в формат, понятный браузеру, что упрощает работу
с CSS-свойствами напрямую из JavaScript.
Для изменения содержимого элементов используются методы
text() и html().
text() устанавливает или возвращает текстовое
содержимое:var heading = Bliss.$('h1');
heading.text('Новый заголовок');
html() устанавливает или возвращает HTML-код
внутри элемента:var container = Bliss.$('#content');
container.html('<p>Новая параграфная структура</p>');
Разделение на text() и html() предотвращает
потенциальные XSS-уязвимости при работе с динамическими данными.
data()Bliss.js облегчает работу с пользовательскими данными
элементов через метод data().
element.data('id', 42); // Устанавливает пользовательское значение
var value = element.data('id'); // Получает значение
Метод поддерживает передачу объекта для установки нескольких данных одновременно:
element.data({
user: 'John',
role: 'admin'
});
Эти данные не отображаются в DOM, но доступны в скриптах, что делает их безопасным инструментом для хранения временных состояний.
prop()Метод prop() применяется для установки свойств
DOM-элементов, которые отличаются от атрибутов. Примеры свойств
включают checked, disabled, value
и другие:
var checkbox = Bliss.$('#accept');
checkbox.prop('checked', true); // Отмечаем чекбокс
checkbox.prop('disabled', false); // Разблокируем элемент
Использование prop() предпочтительно для динамических
свойств, которые напрямую влияют на поведение элементов.
Bliss.js позволяет работать не только с отдельными элементами, но и с
коллекциями. Методы attr(), css(),
text(), html(), data() и
prop() автоматически применяются ко всем элементам
выборки:
Bliss.$$('button').css('backgroundColor', 'blue');
Bliss.$$('input[type="text"]').prop('disabled', true);
Это устраняет необходимость в циклах и делает код более компактным и читаемым.
Если элементы создаются динамически после загрузки страницы, Bliss.js сохраняет совместимость благодаря поддержке цепочек и универсальных селекторов:
Bliss.$$('ul li').last().text('Новый элемент списка');
Методы установки значений работают одинаково для уже существующих и недавно добавленных элементов, что упрощает управление DOM в сложных интерфейсах.
attr(), css(), data() снижает
количество обращений к DOM.text() и html() следует применять
аккуратно, чтобы избежать частых перерасчетов и перерисовок.$$)
один раз и сохранять результат в переменную, если планируется повторная
манипуляция.Умение грамотно устанавливать значения элементов с помощью Bliss.js позволяет создавать динамические и отзывчивые интерфейсы с минимальным количеством кода, обеспечивая при этом чистоту и читаемость скриптов.