Общая информация
Возвращает список типа NodeList, состоящий из всех элементов, которые являются дочерними для элемента, над которым была выполнена функция и удовлетворяющим условию выборки.
Синтаксис
elementList = baseElement.querySelectorAll(selectors);
где
elementList —
результирующий список объектов типа element (результаты).baseElement —
элемент, над которым выполняется функция.selectors —
текст селектора для выбора нужных элементов.
Примеры
Этот пример возвращает список всех элементов с тегом p, которые находятся в теле документа:
var matches = document.body.querySelectorAll('p');
Этот пример возвращает список всех элементов с тегом p, которые находятся в элементе-контейнере с тегом div и имеют класс 'highlighted':
var el = document.querySelector('#test'); var matches = el.querySelectorAll('div.highlighted > p');
Этот пример возвращает список всех элементов iframe, которые имеют атрибут "data-src":
var matches = el.querySelectorAll('iframe[data-src]');
Заметки
Функция выбрасывает исключение SYNTAX_ERR, если текст селектора неправильный.
querySelectorAll() был представлен как часть WebApps API.
Строка указанная в качестве текста селектора, должна соответствовать синтаксису CSS.
Помните, что возвращённый в качестве результата список NodeList не рекомендуется для использования в циклах (например, в for(...)) в качестве массива, т.к., это не массив в «традиционном» понятии Javascript, а объект типа NodeList, который, хоть и схож по свойствам с массивом, но не является таковым в полной мере (не поддерживает все методы, доступные массиву), так что будьте осторожны.
Поддержка браузерами
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
---|---|---|---|---|---|
Базовая поддержка | 1 | 3.5 (1.9.1) | 8 | 10 | 3.2 (525.3) |
Feature | Android | Firefox Mobile (Gecko) | IE Phone | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|
Базовая поддержка | (Да) | 1.0 (1.9.1) | ? | ? | (Да) |