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

De nada, hombre.

La verdad es que hay una manera de hacer esa función más genérica y útil y es que pueda recibir un elemento padre, y un selector CSS. De esta forma puedes aplicarlo al document o a un elemento concreto, y pasarle "span" "div" o cosas del estilo "p > a".

La magia está en cambiar getElementsByTagName por querySelectorAll

Y quedaría así:

Código:
var changes = function(node,selector) {
  for (var i = 0, elements = node.querySelectorAll(selector), len = node.querySelectorAll(selector).length; i < len; i++) {
    elements[i].style.backgroundColor = "#666";
    elements[i].style.fontSize = "20px";
    elements[i].style.border = "1px solid #000";
  }
}
En tu caso, la llamarías con changes(document,"span");

Pero podrías llamarla con changes(divObj,"p.highlight > a.name") y te funcionaría.

Ya lo suyo sería que recibiera un tercer parámetro donde le pusieras pasar un objeto en notación JSON con los estilos que quieras aplicar.



Un saludo
__________________
eContento
- Mis artículos y tutoriales
- Mis jsfiddles