El detalle está en que el método
getElementsByClassName
, devuelve un conjunto de nodos, por lo que no es posible aplicar directamente el cambio de estilo al conjunto completo. Necesitas iterarlo y aplicarlo a cada uno de los elementos recogidos.
Código Javascript
:
Ver originalvar code = document.getElementsByClassName("code1"),
btcode = document.getElementById("btcode");
btcode.addEventListener("click", function () {
for (var i = 0, total = code.length; i < total; i++){
code[i].style.width = code[i].style.width == "100px" ? "200px" : "100px";
}
}, false);
Lo mismo ocurriría si utilizas el método
querySelectorAll
que acertadamente te recomendó utilizar
IsaBelM, en especial porque IE8 ofrece soporte para dicho método y no para el que estás usando. Y si quieres utilizarlo en versiones anteriores a IE8, implementa
esto al inicio de tu archivo JS.
Saludos