Element.getElementsByClassName()

Element.getElementsByClassName() метод возвращает объект HTMLCollection, содержащий в себе все дочерние элементы, которые имеют заданные имена классов. Если вызван на объекте document, будут возвращены все элементы, содержащиеся в документе.

Так же, как метод Document.getElementsByClassName() действует на весь документ; это вернёт элементы, которые являются потомками корневого элемента, содержащие в себе указанные классы.

Syntax

var elements = element.getElementsByClassName(names);
  • elementsHTMLCollection содержащий найденные элементы
  • names — строка, содержащая в себе имена классов; имена разделяются пробелами
  • element — любой Element в документе (в котором осуществляется выборка)

Examples

Получить все элементы с классом test:

element.getElementsByClassName('test');

Получить все элементы с классами test и red:

element.getElementsByClassName('red test');

Получить все элементы с классом test, которые находятся в элементе с id main:

document.getElementById('main').getElementsByClassName('test');

Мы так же можем использовать все методы из Array.prototype на любом HTMLCollection путём передачи HTMLCollection в метод как значение this. Так мы найдём все <div> элементы, которые имеют класс test:

var testElements = document.getElementsByClassName('test');
var testDivs = Array.prototype.filter.call(testElements, function(testElement){
    return testElement.nodeName === 'div';
});

Specifications

Specification Status Comment
DOM
Определение 'Element.getElementsByClassName()' в этой спецификации.
Живой стандарт Initial definition

Browser compatibility

BCD tables only load in the browser