¿Qué devuelven los métodos querySelectorAll y getElementsBy*?

Resuelto dmo asked hace 12 años • 12 respuestas

¿Funcionan getElementsByClassName(y funciones similares como getElementsByTagNamey querySelectorAll) igual getElementByIdo devuelven una matriz de elementos?

La razón por la que pregunto es porque estoy intentando cambiar el estilo de todos los elementos usando getElementsByClassName. Vea abajo.

//doesn't work
document.getElementsByClassName('myElement').style.size = '100px';

//works
document.getElementById('myIdElement').style.size = '100px';
dmo avatar May 22 '12 06:05 dmo
Aceptado

Podrías obtener un solo elemento ejecutando

document.querySelector('.myElement').style.size = '100px';

pero funcionará para el primer elemento con la clase .myElement.

Si desea aplicar esto para todos los elementos de la clase, le sugiero que utilice

document.querySelectorAll('.myElement').forEach(function(element) {
    element.style.size = '100px';
});
Sergey avatar Jul 02 '2017 19:07 Sergey