jQuery — это лёгкая библиотека JavaScript, созданная для упрощения работы с DOM, обработки событий, анимации и AJAX-запросов. Она предоставляет удобный и единообразный интерфейс, позволяющий писать меньше кода и повышать кроссбраузерную совместимость.
Базовая структура использования jQuery выглядит так:
$(document).ready(function() {
// код выполняется после полной загрузки DOM
});
Метод $(document).ready() гарантирует, что скрипт не
попытается обратиться к элементам страницы до того, как они будут
доступны. Альтернативная современная запись:
$(function() {
// код
});
Селекторы jQuery позволяют выбирать элементы DOM по CSS-правилам. Примеры основных селекторов:
$('div') — выбирает все
элементы <div>.$('.menu') — выбирает все
элементы с классом menu.$('#header') —
выбирает элемент с id header.$('ul li.active') —
выбирает все <li> с классом active
внутри <ul>.jQuery также поддерживает псевдоселекторы:
:first — первый элемент в наборе;:last — последний элемент;:even / :odd — элементы с чётными или
нечётными индексами;:hidden / :visible — скрытые или видимые
элементы.Использование селекторов напрямую возвращает объект jQuery, позволяющий применять к нему методы манипуляции, анимации и событий.
Добавление и удаление элементов:
$('#container').append('<p>Новый абзац</p>'); // добавление внутрь элемента
$('#container').prepend('<p>В начало контейнера</p>');
$('.item').remove(); // удаление элементов
Изменение содержимого и атрибутов:
$('#title').text('Новый заголовок'); // текст
$('#title').html('<strong>Жирный заголовок</strong>'); // HTML
$('img').attr('src', 'image.jpg'); // изменение атрибута
$('input').val('Текст по умолчанию'); // значение формы
Изменение стилей:
$('.box').css({
'background-color': 'blue',
'width': '200px'
});
Метод .css() позволяет изменять отдельные свойства или
объект свойств сразу.
jQuery упрощает привязку событий к элементам:
$('#button').click(function() {
alert('Кнопка нажата');
});
Аналогично можно использовать .on() для множественных
событий:
$('#input').on('focus blur', function() {
$(this).toggleClass('highlight');
});
Типы событий:
click, dblclick,
mouseenter, mouseleave;submit, change,
focus, blur;ready, scroll,
resize.Методы .off() и .one() позволяют удалить
обработчики или привязать их только один раз соответственно.
jQuery предлагает готовые методы для анимации без необходимости писать CSS-анимации:
$('#box').hide(); // скрытие элемента
$('#box').show(); // показ
$('#box').toggle(); // переключение видимости
$('#box').fadeIn(1000); // плавное появление
$('#box').fadeOut(500); // плавное исчезновение
$('#box').slideUp(); // скрытие с эффектом сворачивания
$('#box').slideDown(); // разворачивание
$('#box').animate({ left: '+=100px', opacity: 0.5 }, 1000); // кастомная анимация
Метод .animate() поддерживает анимацию нескольких
CSS-свойств одновременно, а также позволяет задавать скорость и
callback-функции после завершения анимации.
jQuery значительно упрощает работу с асинхронными запросами:
$.ajax({
url: 'data.json',
method: 'GET',
dataType: 'json',
success: function(response) {
console.log(response);
},
error: function(xhr, status, error) {
console.error(error);
}
});
Упрощённые методы:
$.get(url, callback) — GET-запрос;$.post(url, data, callback) — POST-запрос;.load() — загрузка HTML в элемент:$('#content').load('page.html #section');
jQuery автоматически обрабатывает кроссбраузерные нюансы и преобразует ответ в удобный формат (JSON, XML, HTML).
Одна из ключевых особенностей jQuery — возможность цепочного вызова методов, что повышает читаемость и сокращает код:
$('#box')
.css('color', 'red')
.slideUp(500)
.slideDown(500)
.fadeOut(300);
Все методы возвращают объект jQuery, что позволяет продолжать манипуляции без повторного поиска элементов в DOM.
.parent(), .children(),
.siblings(), .closest(),
.find();$.each(), $.extend(),
$.isArray(), $.trim();jQuery остаётся мощным инструментом для ускорения разработки интерфейсов, особенно при работе с динамическим содержимым и сложными анимациями, обеспечивая краткость кода и высокую кроссбраузерность.