Ver Mensaje Individual
  #3 (permalink)  
Antiguo 11/05/2016, 08:05
eContento
 
Fecha de Ingreso: junio-2004
Mensajes: 621
Antigüedad: 20 años, 5 meses
Puntos: 25
Respuesta: Optimización de código

El problema es que no te va a funcionar por dos cosas:
  • getElementsByTagName espera un string "span" no span
  • y getElementsByTagName devuelve un nodeList (elements es un nodeList), que no tiene propiedad style.

La mejor forma de optimizar ese código de forma rápida es:
Código:
var changes = function() {
  for (var i = 0, elements = document.getElementsByTagName("span"), len = document.getElementsByTagName("span").length; i < len; i++) {
    elements[i].style.backgroundColor = "#666";
    elements[i].style.fontSize = "20px";
    elements[i].style.border = "1px solid #000";
  }
}
De esta forma i, elements y len se inicializan en un único bloque var, en lugar de usar tres bloques var. Esto es más rápido.

Se define len fuera a modo constante en lugar de evaluar document.getElementsByTagName("span").length en cada vuelta del bucle.
__________________
eContento
- Mis artículos y tutoriales
- Mis jsfiddles