Метод $() является основным инструментом библиотеки Dom7
для работы с DOM-элементами в JavaScript. Он предоставляет удобный и
компактный способ выбора элементов, добавления обработчиков событий,
изменения атрибутов и стилей, а также выполнения других операций над
элементами страницы.
$()Метод $() принимает строку селектора или DOM-элемент и
возвращает объект Dom7 — коллекцию элементов с набором методов для
манипуляций.
Примеры использования:
// Выбор элементов по селектору CSS
var items = $('.item');
// Выбор элемента по ID
var header = $('#header');
// Превращение обычного DOM-элемента в объект Dom7
var element = $(document.querySelector('.content'));
Ключевой особенностью является то, что объект Dom7 ведет себя как
массив, поддерживая индексированный доступ к элементам
(items[0]) и методы итерации (each).
$()var buttons = $('button'); // все кнопки на странице
buttons.each(function(index, el) {
console.log(el);
});
var newDiv = $('<div class="box">Контент</div>');
$('body').append(newDiv);
$() обернет его в объект Dom7.var container = $(document.getElementById('container'));
container.addClass('active');
var nodes = document.querySelectorAll('.item');
var items = $(nodes);
items.css('color', 'red');
$()Объект Dom7 предоставляет богатый набор методов для работы с выбранными элементами:
Manipulation
addClass(className) — добавление CSS-классаremoveClass(className) — удаление CSS-классаtoggleClass(className) — переключение классаattr(name, value) — получение или установка
атрибутаcss(property, value) — установка стиляTraversal
find(selector) — поиск потомковparent() — получение родительского элементаchildren(selector) — выбор детей с опциональным
фильтромsiblings() — выбор соседних элементовEvents
on(event, handler) — привязка обработчикаoff(event, handler) — удаление обработчикаonce(event, handler) — однократный обработчикtrigger(event, data) — вызов событияDOM Manipulation
append(element) — добавление в конецprepend(element) — добавление в началоremove() — удаление элементаhtml(content) — получение или установка HTMLtext(content) — получение или установка текста// Добавление класса всем кнопкам внутри контейнера
$('#container').find('button').addClass('highlight');
// Создание нового блока и добавление его в конец body
var block = $('<div class="new-block">Новый блок</div>');
$('body').append(block);
// Установка обработчика на все элементы с классом .item
$('.item').on('click', function(e) {
$(this).toggleClass('selected');
});
$()$() всегда возвращает объект Dom7, даже если
найден только один элемент или его нет. Пустой результат все равно
является коллекцией Dom7, что позволяет безопасно вызывать методы без
проверки на null.$('.item').addClass('active').css('color', 'blue').on('click', function() {
$(this).toggleClass('clicked');
});
$() создает элементы в
памяти, они не добавляются в DOM до явного вызова методов
append, prepend или других манипуляций.Dom7 похож на jQuery, но имеет более компактный и легковесный набор
функций. Он ориентирован на современные браузеры и не поддерживает
устаревшие методы, такие как live() или
delegate(). Основное преимущество — высокая скорость и
малый размер библиотеки.
querySelectorAll работает быстрее, чем по
тегу.Метод $() и его варианты обеспечивают удобную, гибкую и
эффективную работу с DOM, делая код лаконичным и читаемым.