La siguiente descripción se toma de esta página :
El método getElementsByClassName () devuelve una colección de todos los elementos en el documento con el nombre de clase especificado, como un objeto NodeList.
El objeto NodeList representa una colección de nodos. Se puede acceder a los nodos por números de índice. El índice comienza en 0.
Sugerencia: Puede usar la propiedad de longitud del objeto NodeList para determinar la cantidad de elementos con un nombre de clase específico, luego puede recorrer todos los elementos y extraer la información que desee.
Entonces, como parámetro getElementsByClassName
aceptaría un nombre de clase.
Si este es tu cuerpo HTML:
<div id="first" class="menuItem"></div>
<div id="second" class="menuItem"></div>
<div id="third" class="menuItem"></div>
<div id="footer"></div>
luego var menuItems = document.getElementsByClassName('menuItem')
devolvería una colección (no una matriz) de los 3 <div>
s superiores , ya que coinciden con el nombre de clase dado.
Luego puede iterar sobre esta <div>
colección de nodos ( s en este caso) con:
for (var menuItemIndex = 0 ; menuItems.length ; menuItemIndex ++) {
var currentMenuItem = menuItems[menuItemIndex];
// do stuff with currentMenuItem as a node.
}
Consulte esta publicación para obtener más información sobre las diferencias entre elementos y nodos.
getElementsByClassName()
implica un plural, mientras quegetElementById()
implica un elemento de elemento singular.