Comunidad de diseño web y desarrollo en internet online

metodos para asociar javascript univocamente a html

Citar            
MensajeEscrito el 19 Sep 2012 04:53 am
Hola,
Tengo un framework PHP propio en el cual instancio controles HTML con su propio JavaScript , hasta ahí bien, pero como sabéis el framework sirve para reutilización de codigo, por lo tanto en muchas ocasiones se reutilizan módulos enteros que se cargan por ajax(ejemplo, abrir un mismo formulario para ver o editar dos filas de la bd distintas al mismo tiempo) , el caso es que se pintan objetos con los mismos ids con lo cual el JavaScript se aplica varias veces al primero que encuentra.
Para solucionar esto se me ocurren varias formas:
1 - generar un codigo único que se añada como atributo del elemento html (<div id='xxx' id_unico='xxxxxxxxx'></div>). Esta opcion no me gusta mucho porque es posible que en alguna ejecución de la cadualidad que se repita el codigo generado(ya se que es remota, pero no me gusta dejar nada al azar) y además el generar codigo para cada elemento que instancie puede afectar al rendimiento de la aplicación.
2 - crearlos en vez de en HTML como codigo JavaScript y asociarlos a una variable y asociar el codigo a esta(var el=jq('<div id="xxx">');). Esta opción tampoco me parece buena por temas de SEO ya que se pintarían después de cargar la pág. Aparte que en elementos mas complejos se complicaria el asunto.
3 - he utilizado un método un poco feo en algunas ocasiones para distinguirlos que se me ocurrió a modo de ñapa que es básicamente recorrer los elementos devueltos por un selector y hacer comparaciones con el método.is() de jquery y elementos visiblemente iguales, osea mismo codigo HTML, me los diferenciaba perfectamente. Con esto quiero decir que alomejor es posible que los elementos del dom tengan algo único que los diferencie y lo pueda usar a mi favor, pero lo que no se es como,jeje.
Y las preguntas son: se os ocurre o sabéis métodos mejores para esto? De no conocerlos cual os parece mejor solución?

Por danidhsm

5 de clabLevel



 

safari
Citar            
MensajeEscrito el 24 Sep 2012 03:41 am
respondan carajo, xD

Por danidhsm

5 de clabLevel



 

chrome

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.