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";
},
);
Спецификации
Specification |
---|
DOM Standard # ref-for-dom-element-getelementsbyclassname |
Совместимость с браузерами
BCD tables only load in the browser