Библиотека jQuery предоставляет удобный и компактный интерфейс для работы с содержимым HTML-документа. Основные операции включают получение, изменение и манипуляцию текстом, HTML-разметкой и значениями элементов формы.
Метод .text() используется для
получения или задания текстового содержимого выбранных элементов.
var content = $('#element').text();
Возвращает текстовое содержимое всех выбранных элементов, объединяя их в одну строку.
$('#element').text('Новый текст');
Заменяет текст внутри элемента, при этом HTML-разметка игнорируется.
$('li').text(function(index, oldText) {
return index + ': ' + oldText;
});
Функция получает индекс элемента и его текущий текст, что позволяет создавать динамический контент.
Метод .html() позволяет работать с
внутренней HTML-разметкой элементов.
var htmlContent = $('#container').html();
Возвращает строку с HTML-кодом внутреннего содержимого.
$('#container').html('<p>Новый параграф</p>');
Заменяет содержимое элемента, включая всю HTML-разметку.
$('.item').html(function(index, oldHtml) {
return '<strong>' + oldHtml + '</strong>';
});
Позволяет модифицировать существующую разметку для каждого элемента индивидуально.
Для добавления содержимого используются методы
.append(),
.prepend(),
.after() и
.before():
.append() — добавляет содержимое
внутрь выбранного элемента в конец:$('#list').append('<li>Новый элемент</li>');
.prepend() — добавляет содержимое
внутрь выбранного элемента в начало:$('#list').prepend('<li>Первый элемент</li>');
.after() — вставляет содержимое после
выбранного элемента в DOM:$('#item').after('<div>Следующий блок</div>');
.before() — вставляет содержимое перед
выбранным элементом:$('#item').before('<div>Предыдущий блок</div>');
Для удаления содержимого используется
.empty(), а для удаления элемента вместе с
его содержимым — .remove():
$('#container').empty(); // Удаляет все внутренние элементы
$('#container').remove(); // Удаляет сам контейнер и всё внутри
Метод .val() предназначен для работы со
значениями <input>, <select> и
<textarea>:
var value = $('#inputField').val();
$('#inputField').val('Новое значение');
$('input[type="text"]').val(function(index, oldValue) {
return oldValue.toUpperCase();
});
.clone() — создает копию элемента,
включая его содержимое и атрибуты:var clone = $('#original').clone();
$('#container').append(clone);
.replaceWith() — заменяет выбранный
элемент новым содержимым:$('#oldElement').replaceWith('<div id="newElement">Новый элемент</div>');
.replaceAll() — заменяет целевые
элементы содержимым другого элемента:$('<p>Замененный текст</p>').replaceAll('.target');
Для работы с подэлементами удобно использовать
.find() и фильтры:
$('#container').find('li.active').text('Активный элемент');
Метод .children() позволяет работать
только с непосредственными потомками:
$('#container').children('p').css('color', 'blue');
Хотя .html() и .text() управляют
содержимым, часто требуется работать с атрибутами:
.attr() — для чтения и записи
атрибутов:$('#link').attr('href', 'https://example.com');
.prop() — для управления свойствами
DOM, например checked у чекбоксов:$('#checkbox').prop('checked', true);
jQuery позволяет реагировать на изменения элементов с помощью
событий. Для элементов формы часто используется
.change():
$('#inputField').change(function() {
console.log('Значение изменено:', $(this).val());
});
Для динамически добавленных элементов используют делегирование через
.on():
$(document).on('click', '.dynamic-button', function() {
$(this).text('Нажато');
});
jQuery поддерживает цепочку вызовов, что позволяет компактно изменять несколько свойств сразу:
$('#container')
.html('<p>Новый текст</p>')
.css('color', 'red')
.fadeIn(500);
Цепочки повышают читаемость и сокращают код.
var $items = $('#list li');
$items.text('Обновлено');
Предпочтительно использовать .text() для безопасного
добавления текста и .html() только для доверенной
разметки.
Для работы с динамическими элементами применять делегирование
событий через $(document).on(), чтобы обработчики
срабатывали на элементах, добавленных после загрузки страницы.
Методы добавления контента (append,
prepend, after, before) можно
комбинировать с функциями для генерации динамического HTML в зависимости
от текущего состояния документа.
Клонирование элементов через .clone(true) сохраняет
все обработчики событий, что важно при копировании интерактивных
блоков.
Эти методы формируют основу работы с HTML-содержимым в jQuery, позволяя эффективно управлять текстом, разметкой и значениями элементов, а также динамически изменять структуру DOM.