Quiero asociar un objeto JavaScript con un elemento HTML. ¿Hay una manera simple de hacer esto?¿Hay una buena manera de adjuntar objetos JavaScript a elementos HTML?
Me di cuenta HTML DOM define un método setAttribute y parece que esto se define para el nombre de atributo arbitrario. Sin embargo, esto solo puede establecer valores de cadena. (Por supuesto, puedes usar esto para almacenar las claves en un diccionario.)
Específicos (aunque estoy en su mayoría interesados en la cuestión general):
En concreto, no tengo elementos HTML que representan los nodos en un árbol y estoy intentando habilitar arrastrar y soltar, pero el evento de soltar jQuery solo me dará los elementos que se arrastran y sueltan.
El patrón normal para obtener información para los manejadores de eventos parece ser crear los elementos HTML al mismo tiempo que crea objetos JavaScript y luego definir manejadores de eventos cerrando estos objetos JavaScript; sin embargo, esto no funciona muy bien en este caso (podría tener un objeto global que se llena cuando comienza una resistencia ... pero esto se siente un poco desagradable).
Gracias: Esto es más o menos lo que estaba buscando. Interesantemente para definir este método, jquery almacena las claves en un diccionario global en un atributo de cadena en cada elemento. El nombre de este atributo de cadena se genera aleatoriamente cuando jquery se carga por primera vez. (sugiriendo que no hay una buena manera de hacerlo, no hay una manera más agradable de hacer esto solo usando el DOM) – user47741
Vale la pena señalar que 'data()' * de jQuery funciona * usando la [respuesta bobince dio ] (http://stackoverflow.com/a/1402782/42921) así que si aún no está usando jquery, también podría usar eso. –
Es curioso cómo puedo mirar hacia atrás en esta respuesta 6 años después y pensar: "esta es una respuesta muy poco óptima. @bobince debería tener la aceptada". –