Buen inicio de semana el tip de hoy es una recomendación muy valiosa, es el tema de los ids. Jquery enseña mucho que la foma de referencia un elemento es mediante el uso de id's o de un path the classes para retornar el elemento(s) de nuestro interes.
El siguiente ejemplo es tomado de un codigo que un deserrallador realizo como prueba de aptitud para probar si tiene el nivel para trabajar en un proyecto. He aqui algunas partes del codigo:
Código :
// En su codigo todo esto es una linea var headerDiv = document.createElement('div'); headerDiv.id = "header"; headerDiv.className = "left-plugin";
Pueden ver la clara influencia de jquery en la mente de este desarrollador, yo recomiendo empezar a dejar jquery lo mas pronto posible, poco a poco no de golpe por que el usarlo tanto puede causar efectos como el anterior. Por que es el resultado de jquery?
La primera parte se que es la costumbre de hacer chaining, en jquery tu puedes aplicar un cambio a un elemento y aplicar cambios subsecuentes ya que las funciones retornan al mismo elemento que invoco el metodo, pudiendo hacer muchos cambios en una sola liena de codigo, se puede ver que el desarrollador quiere hacer muchos cambion en una linea de codigo y es una costumbra que tiene practicamente solo en el caso de creacion de elementos. Finalmente hace esto mas adelante en otra funcion:
Código :
document.getElementById(headerDiv.id).appendChild(menu.holder);
Esto es la clara costumbre de jquery de pensar que $('#id') no tiene ningun efecto, en este caso es muy obvio headerDiv ya es elemento que querias, no es necesario hacer eso podria haber hecho esto:
Código :
headerDiv.appendChild(menu.holder);
Tu codigo queda mas compacto mas entendible, finalmente lo primero que hizo dederia ser una linea de codigo por instruccion quedando asi, (nota:quite el id no es necesario por que tengo acceso al elemento y cambie el nombre de la clase para que hiciera mas sentido con su funcion y nombre de variable, que era otro error al no haber congruencia del nombre de la variable con el nombre de la clase css):
Código :
var headerDiv = document.createElement('div'); headerDiv.className = "header";