Umbrella JS предоставляет удобный и лаконичный API для работы с DOM, позволяя эффективно манипулировать элементами страницы, создавать, изменять и удалять фрагменты документа. Основной объект библиотеки — это коллекция элементов, подобная массиву, которая поддерживает методы для управления узлами DOM.
Создание новых элементов в Umbrella JS выполняется через функцию
u() с передачей HTML-строки. Пример:
let div = u('<div class="new-element">Привет</div>');
Ключевые моменты:
.appendTo() или
.append().Пример добавления созданного элемента в документ:
div.appendTo('body'); // вставляет div в конец body
Umbrella JS поддерживает несколько методов для вставки фрагментов в DOM:
u('ul').append('<li>Новый элемент</li>');
u('ul').prepend('<li>Первый элемент</li>');
u('h1').before('<p>Перед заголовком</p>');
u('h1').after('<p>После заголовка</p>');
Все эти методы позволяют вставлять как строки HTML, так и
существующие элементы, обёрнутые в u().
Метод .clone() позволяет создавать копии выбранных
элементов:
let cloned = u('div.clone-me').clone();
cloned.appendTo('body');
Особенности:
true, чтобы клонировать и
события, привязанные к элементу:u('button').clone(true).appendTo('#container');
Удаление элементов выполняется с помощью метода
.remove():
u('.old-element').remove();
Метод очищает узел из DOM, но не уничтожает ссылки на него в коде, если они сохранены в переменной.
Для очистки содержимого элемента используется
.empty():
u('#content').empty(); // удаляет всех детей элемента
Umbrella JS предоставляет методы для управления содержимым элементов:
.html() — получение или установка HTML:let content = u('#main').html(); // получение
u('#main').html('<p>Новый контент</p>'); // установка
.text() — работа с текстовым содержимым без
HTML-разметки:u('#main').text('Простой текст');
Различие между .html() и .text()
важно: первый метод вставляет HTML, второй — безопасный
текст.
Umbrella JS позволяет легко перемещать элементы внутри DOM. Методы
.appendTo() и .prependTo() выполняют вставку
текущих элементов внутрь указанных целей:
u('.item').appendTo('#list'); // перемещает элементы .item внутрь #list
Если необходимо оставить исходные элементы, можно использовать
.clone() перед вставкой:
u('.item').clone().appendTo('#list');
Для повторного создания сложных фрагментов удобно использовать HTML-шаблоны:
let template = `
<div class="card">
<h2>Заголовок</h2>
<p>Описание</p>
</div>
`;
u('#container').append(template);
Преимущества использования шаблонов:
.clone() для массовой генерации
контента.Часто фрагменты документа требуют настройки атрибутов перед вставкой:
u('<button>Нажми меня</button>')
.attr('id', 'btn1')
.addClass('btn-primary')
.appendTo('#controls');
Методы attr(), addClass(),
removeClass() и toggleClass() позволяют
полностью управлять состоянием нового элемента перед его
рендерингом.
События можно привязать как к существующим, так и к создаваемым фрагментам:
u('<button>Кликни</button>')
.on('click', function() { alert('Нажато'); })
.appendTo('#buttons');
Использование .clone(true) сохранит привязанные события
при копировании элементов.
u('<div>...</div>')..attr(),
.addClass()..on()..appendTo(),
.prependTo(), .before(),
.after()..clone().Эта последовательность обеспечивает гибкое управление DOM, позволяя строить динамический интерфейс без громоздкого кода.
Методы Umbrella JS для работы с фрагментами документа делают библиотеку легкой альтернативой jQuery для базовых и средних задач манипуляции DOM. Они обеспечивают простоту синтаксиса и мощь работы с узлами документа.