Element.getElementsByClassName()
Element.getElementsByClassName()
метод возвращает объект HTMLCollection
, содержащий в себе все дочерние элементы, которые имеют заданные имена классов. Если вызван на объекте document, будут возвращены все элементы, содержащиеся в документе.
Так же, как метод Document.getElementsByClassName()
действует на весь документ; это вернёт элементы, которые являются потомками корневого элемента, содержащие в себе указанные классы.
Syntax
var elements = element.getElementsByClassName(names);
- elements —
HTMLCollection
содержащий найденные элементы - 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