Dom7 — это легковесная библиотека для работы с DOM, которая
обеспечивает удобный синтаксис для манипуляций с элементами, включая
работу с текстом. Работа с текстовым содержимым является одной из
основных операций при динамическом изменении интерфейса на странице. В
Dom7 это реализуется через методы text() и
html(), а также через работу с атрибутами и свойствами
элементов.
text()Метод text() используется для получения или установки
текстового содержимого выбранных элементов.
Получение текста:
const content = $('.my-element').text();
console.log(content);
Если выбрано несколько элементов, метод вернет текст первого элемента из коллекции.
Установка текста:
$('.my-element').text('Новый текст');
В этом случае текстовое содержимое всех выбранных элементов будет заменено на указанное значение.
Особенности метода text():
<,
>, &) при вставке текста.html()Метод html() предназначен для работы с HTML-контентом
внутри элементов. Он позволяет вставлять как простой текст, так и
полноценную разметку.
Получение HTML-кода:
const htmlContent = $('.my-element').html();
console.log(htmlContent);
Возвращается строка с внутренней разметкой первого элемента коллекции.
Установка HTML-контента:
$('.my-element').html('<strong>Жирный текст</strong>');
Все выбранные элементы получат новую HTML-разметку.
Особенности метода html():
text() и html() с функциями обратного
вызоваОба метода поддерживают передачу функции в качестве аргумента. Функция получает индекс текущего элемента и его текущее значение. Возвращаемое значение функции станет новым содержимым.
Пример с текстом:
$('.item').text(function(index, oldText) {
return oldText + ' (' + (index + 1) + ')';
});
Пример с HTML:
$('.item').html(function(index, oldHtml) {
return `<span>${oldHtml}</span>`;
});
Использование функции удобно при необходимости динамически изменять содержимое элементов на основе их текущего состояния.
Для вставки текста в начало или конец элемента можно использовать
методы append(), prepend(),
appendTo(), prependTo().
Добавление текста в конец:
$('.my-element').append(' Дополнительный текст');
Добавление текста в начало:
$('.my-element').prepend('Начало текста ');
Эти методы позволяют комбинировать текст и HTML-разметку, обеспечивая гибкость при формировании интерфейса.
Dom7 предоставляет удобные способы для проверки, содержит ли элемент текст.
if ($('.my-element').text().trim() === '') {
console.log('Элемент пустой');
}
Метод trim() удаляет пробелы в начале и конце строки,
что важно при динамической подстановке данных.
text(), чтобы избежать потенциальных уязвимостей и проблем
с экранированием.text() — для безопасного вставления простого
текста.html() — для вставки разметки и сложного контента.append() и prepend() — для добавления
текста или HTML без перезаписи всего содержимого.Эффективное использование этих методов позволяет создавать динамические интерфейсы, управлять текстовым и HTML-контентом без громоздких обходов DOM и избыточного кода.