Spec-Zone.ru › Web APIs

Поиск элементов DOM с помощью селекторов

API селекторов предоставляет методы, которые позволяют быстро и легко извлекать Element узлы из DOM, сопоставляя их с набором селекторов. Это значительно быстрее, чем предыдущие методы, которые, например, требовали использования цикла в JavaScript-коде для поиска необходимых элементов.

Интерфейс NodeSelector

Этот стандарт добавляет два новых метода к объектам, реализующим интерфейсы Document, DocumentFragment или Element:

querySelector()

Возвращает первый соответствующий Element узел в поддереве узла. Если соответствующий узел не найден, возвращается null.

querySelectorAll()

Возвращает NodeList, содержащий все соответствующие Element узлы в поддереве узла, или пустой NodeList, если совпадений не найдено.

Примечание: NodeList, возвращаемый методом querySelectorAll(), не является динамическим, что означает, что изменения в DOM не отражаются в коллекции. Это отличается от других методов запроса DOM, которые возвращают динамические списки узлов.

Примеры и подробности вы можете найти в документации методов Element.querySelector() и Element.querySelectorAll().

Селекторы

Методы селекторов принимают селекторы для определения того, какой элемент или элементы должны быть возвращены. Это включает списки селекторов, позволяющие группировать несколько селекторов в одном запросе.

Для защиты конфиденциальности пользователя некоторые псевдоклассы не поддерживаются или ведут себя иначе. Например, :visited не вернёт совпадений, а :link обрабатывается как :any-link.

Можно выбирать только элементы, поэтому псевдоклассы не поддерживаются.

Примеры

Чтобы выбрать все элементы абзаца (p) в документе, у которых классы включают warning или note, можно сделать следующее:

const special = document.querySelectorAll("p.warning, p.note");

Также можно осуществлять поиск по идентификатору. Например:

const el = document.querySelector("#main, #basic, #exclamation");

После выполнения данного кода, el содержит первый элемент в документе, у которого идентификатор является одним из main, basic, или exclamation.

См. также

  • Спецификация селекторов
  • CSS селекторы
  • Element.querySelector()
  • Element.querySelectorAll()
  • Document.querySelector()
  • Document.querySelectorAll()

© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/Document_Object_Model/Locating_DOM_elements_using_selectors

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API