Element.getElementsByClassName()
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
El método Element.getElementsByClassName()
retorna una HTMLCollection
"viva" conteniendo todos los elementos hijos que tienen todos los nombres de clase dados. Cuando se llama en el objeto document, se realiza la búsqueda en el documento completo, incluyendo el nodo raíz.
De forma similar, el método Document.getElementsByClassName()
actúa en todo el documento; retornará los elementos que sean descendientes del documento raiz especificado que tengan los nombres de clase dados.
Sintaxis
var elements = element.getElementsByClassName(names);
- elements es una
HTMLCollection
"viva" de los elementos encontrados. - names es una cadena representando la lista de nombres de clase que deben concordar; los nombres de clase está separados por espacios en blanco.
- element es cualquier
Element
de un documento.
Ejemplo
Obtiene todos los elementos que tienen una clase test
:
element.getElementsByClassName("test");
Obtiene todos los elementos que tienen tanto la clase red
como test
:
element.getElementsByClassName("red test");
Obtiene todos los elementos que tienen la clase of test
, dentro de un elemento que tiene el id
main
:
document.getElementById("main").getElementsByClassName("test");
Podemos también usar métodos de Array.prototype
en cualquier HTMLCollection
pasando el HTMLCollection
como el valor this del método. Aquí encontramos todos los elementos <div>
que tienen una clase test
:
var testElements = document.getElementsByClassName("test");
var testDivs = Array.prototype.filter.call(
testElements,
function (testElement) {
return testElement.nodeName === "div";
},
);
Especificaciones
Specification |
---|
DOM Standard # ref-for-dom-element-getelementsbyclassname |
Compatibilidad con navegadores
BCD tables only load in the browser