Управление DOM-структурой
Создание и добавление элементов
Иногда нужно динамически добавлять элементы на страницу. Сделать это легко с помощью jQuery:
ВыделитьjQuery
// Создать новый div и добавить его в конец body
$('<div>Новый элемент!</div>').appendTo('body');
// Добавить элемент в начало списка ul
$('<li>Новый пункт списка</li>').prependTo('ul');
// Вставить элемент после другого элемента
$('<button>Нажмите меня</button>').insertAfter('#targetButton');Копирование и перемещение элементов
Часто требуется переместить или скопировать элементы на странице. Вот как это делается:
ВыделитьjQuery
// Копируем элемент и помещаем копию в конец страницы
$('#myDiv').clone().appendTo('body');
// Перемещаем элемент вверх по документу
$('#myDiv').detach().prependTo('body');Удаление элементов
Удалить элементы с помощью jQuery можно несколькими способами:
ВыделитьjQuery
// Удаляет элемент и его детей
$('#oldElement').remove();
// Убирает элемент, но сохраняет его содержимое
$('#outerContainer').empty();Работа с атрибутами и свойствами
Установка и чтение атрибутов
Атрибуты элемента можно читать и устанавливать с помощью jQuery:
ВыделитьjQuery
// Устанавливаем атрибут href у ссылки
$('a').attr('href', 'https://example.com');
// Получаем значение атрибута title
var titleValue = $('img').attr('title');Установка и считывание свойств
Свойства отличаются от атрибутов. Атрибуты хранятся в HTML-разметке, а свойства представляют состояние самого элемента:
ВыделитьjQuery
// Проверяем свойство checked у checkbox
if ($('#checkboxID').prop('checked')) {
alert('Checkbox отмечен!');
}
// Устанавливаем disabled
$('#buttonID').prop('disabled', true);Управление стилем и классами
Добавление и удаление классов
Класс — это основной способ стилизации элементов в CSS. jQuery предоставляет удобный инструментарий для работы с классами:
ВыделитьjQuery
// Добавляет класс active к кнопке
$('#btn').addClass('active');
// Удаляет класс active
$('#btn').removeClass('active');
// Переключает класс hidden
$('#panel').toggleClass('hidden');Прямая установка стилей
Иногда нужно временно поменять стиль элемента. Для этого используют метод
.css():
ВыделитьjQuery
// Меняем фон кнопки
$('#btn').css({
backgroundColor: 'blue',
color: 'white'
});
// Узнать ширину элемента
var width = $('#btn').css('width');Интеракция с событием
Присоединение обработчиков событий
Одна из сильных сторон jQuery — удобная работа с событиями. Легко присоединить обработчики к различным действиям пользователя:
ВыделитьjQuery
// Нажали на кнопку — выводим сообщение
$('#btn').on('click', function() {
alert('Вы нажали кнопку!');
});
// Наведение мыши
$('#element').hover(function() {
$(this).addClass('hover-effect');
}, function() {
$(this).removeClass('hover-effect');
});Удаление обработчиков событий
Если обработчик больше не нужен, его можно удалить:
ВыделитьjQuery
// Удаляем обработчик клика
$('#btn').off('click');Эффективная работа с DOM
Кэширование селекторов
Обращение к DOM обходится дорого. Лучше кэшировать результат выборки, чтобы повторно использовать его:
ВыделитьjQuery
// Неэффективно
for(var i = 0; i < 100; i++) {
$('#element').addClass('animation');
}
// Эффективно
var cachedElement = $('#element');
for(var i = 0; i < 100; i++) {
cachedElement.addClass('animation');
}Группировка операций
Если планируется выполнить несколько модификаций подряд, имеет смысл сгруппировать их в одну операцию:
ВыделитьjQuery
// Несколько операций разом
$('#element').addClass('active').css({color:'green'});Заключение
jQuery предоставляет богатый арсенал инструментов для удобной работы с DOM. Освоив эти техники, вы сможете легко создавать качественные и динамичные интерфейсы, обеспечивая отличную производительность и удобство работы с вашим сайтом.