Ver Mensaje Individual
  #4 (permalink)  
Antiguo 21/06/2012, 13:40
alexg88
 
Fecha de Ingreso: abril-2011
Mensajes: 1.342
Antigüedad: 13 años, 7 meses
Puntos: 344
Respuesta: como optimizar este código de jquery

Buenas,

Se me ocurre algo así, una mezcla entre lo que tienes y lo de dontexplain.

Este es el más simple, aprovechando la posibilidad de que a la función $ se le puede pasar el contexto desde donde quieres buscar, le pasas this y mejora un poco el rendimiento.

Código Javascript:
Ver original
  1. $('.chart #header').click(function() {
  2.     $(this).attr('title', 'Test').width('1000px');
  3.     $('th.nombre',this).text('nombre');
  4.     $('th.apellido',this).text('apellido');
  5.     $('th.edad',this).text('edad');
  6.     $('th.fecha',this).text('fecha');
  7.  });

Esta formando es usando objetos (clave y valor), por si quieres que el nombre del elemento y el texto que quieres poner sea distinto.

Código Javascript:
Ver original
  1. var datos = {"nombre":"Nombre","apellido":"Apellido","edad":"Edad","fecha":"Fecha"};
  2.  
  3.  
  4.  $('.chart #header').click(function() {
  5.     $(this).attr('title', 'Test').width('1000px');
  6.      
  7.      for(key in datos){
  8.      $("th."+key+"'",this).text(datos[key]);
  9.  }    
  10.    
  11.   });

También podrías hacerlo con un array simple.

Código Javascript:
Ver original
  1. var datos = ["nombre","apellido","edad","fecha"];
  2.  
  3.  
  4.  $('.chart #header').click(function() {
  5.     $(this).attr('title', 'Test').width('1000px');
  6.      
  7.      for(i=0;i<datos.length;i++){
  8.      $("th."+datos[i]+"'",this).text(datos[i]);
  9.  }
  10.      
  11.    
  12.   });