Bliss.js — это компактная и высокоэффективная библиотека для работы с DOM в JavaScript, которая облегчает операции с элементами, их свойствами, атрибутами и событиями. Инспектирование элементов — одна из ключевых возможностей, позволяющая детально анализировать структуру страницы, получать информацию о состоянии элементов и управлять ими динамически.
Bliss.js предоставляет несколько удобных методов для получения элементов из DOM:
bliss.$(selector, [context]) — возвращает первый
элемент, соответствующий CSS-селектору.bliss.$$(selector, [context]) — возвращает массив всех
элементов, соответствующих селектору.Примеры:
var button = bliss.$('button.submit'); // первый элемент button с классом submit
var items = bliss.$$('.list-item'); // все элементы с классом list-item
Параметр context позволяет ограничить область поиска
конкретным узлом:
var sectionItems = bliss.$$('.list-item', bliss.$('section#main'));
Bliss.js упрощает доступ к атрибутам элементов с помощью метода
attr:
var link = bliss.$('a.external');
var href = link.attr('href'); // получение значения атрибута
link.attr('target', '_blank'); // установка нового значения
link.attr({ rel: 'noopener', title: 'Ссылка' }); // установка нескольких атрибутов одновременно
Для работы с классами используется метод hasClass,
addClass, removeClass и
toggleClass:
var box = bliss.$('.box');
box.addClass('highlight');
if (box.hasClass('highlight')) {
box.removeClass('highlight');
}
box.toggleClass('active');
Свойства DOM-элементов также доступны напрямую через Bliss.js.
Например, для получения текста элемента используется
text():
var message = bliss.$('.message');
var content = message.text(); // получение текста
message.text('Новый текст'); // установка текста
Для работы с HTML-контентом используется метод
html():
var container = bliss.$('.container');
container.html('<p>Новый HTML контент</p>');
Bliss.js предоставляет удобные методы для перемещения по дереву DOM:
parent() — возвращает родительский элемент.children([selector]) — возвращает дочерние элементы,
опционально фильтруемые по селектору.next() и prev() — возвращают соседние
элементы.closest(selector) — возвращает ближайший предок,
соответствующий селектору.Примеры:
var item = bliss.$('.item.active');
var parentList = item.parent();
var siblings = item.parent().children('.item');
var nextItem = item.next();
var prevItem = item.prev();
var closestSection = item.closest('section');
Для удобного хранения пользовательских данных Bliss.js использует
метод data():
var card = bliss.$('.card');
card.data('id', 42); // установка значения
var cardId = card.data('id'); // получение значения
card.data({ type: 'info', visible: true }); // установка нескольких данных сразу
Метод data() автоматически управляет кешем данных и
предотвращает прямую модификацию DOM-атрибутов data-*,
обеспечивая производительность.
Bliss.js облегчает привязку событий с помощью метода
on:
var button = bliss.$('button.submit');
button.on('click', function(event) {
console.log('Кнопка нажата', event.target);
});
Для инспектирования текущего состояния элемента можно использовать
комбинацию методов is() и hasClass():
var tab = bliss.$('.tab.active');
if (tab.is(':visible') && tab.hasClass('active')) {
console.log('Активная вкладка видима');
}
Метод is() поддерживает большинство CSS-селекторов и
псевдоклассов, что позволяет создавать сложные условия для анализа
состояния элементов.
Bliss.js позволяет выполнять операции над коллекциями элементов с
помощью метода each:
bliss.$$('.list-item').each(function(el, index) {
console.log(index, el.textContent);
});
Метод map используется для создания новых массивов на
основе коллекции элементов:
var texts = bliss.$$('.list-item').map(function(el) {
return el.textContent;
});
Bliss.js предоставляет удобный доступ к стилям элементов через метод
css():
var box = bliss.$('.box');
var width = box.css('width'); // получение значения
box.css('background-color', 'red'); // установка нового стиля
box.css({ color: 'white', margin: '10px' }); // установка нескольких стилей одновременно
Для получения реальных размеров элемента используются свойства
offsetWidth, offsetHeight и
getBoundingClientRect() через обёртку Bliss.js:
var rect = box[0].getBoundingClientRect();
console.log(rect.width, rect.height, rect.top, rect.left);
Инспектирование элементов в Bliss.js сочетает простоту API и гибкость работы с DOM. Методы выбора, навигации, анализа состояния, работы с атрибутами и данными позволяют создавать динамичные интерфейсы, оптимизировать манипуляции с элементами и облегчить дебаг. Умелое использование этих инструментов обеспечивает точный контроль над структурой страницы и её поведением.