Todos los datos se almacenan dentro de una propiedad del objeto jQuery
llamado cache
. Registre los contenidos de $.cache
en su consola para ver todos los datos y eventos asociados con cualquier elemento DOM.
La manera en que jQuery vincula un objeto DOM con un objeto en este caché es manipulando el objeto DOM. Digamos que tenemos un elemento de entrada
<input type="text" value="hello" />
que tiene una clave de datos llamado "foo"
$(e).data("foo", "bar");
Ahora jQuery mantiene una cadena aleatoria de forma jQuery<current time in ms>
, por ejemplo, jQuery1291790929680
, que también es accesible por $.expando
. jQuery agrega esta cadena expandida como una clave para cada objeto DOM que tiene un elemento de datos o evento asociado. Así el objeto DOM para el elemento de entrada por encima contendrá esta expando clave con un poco de valor entero, tales como:
jQuery1291790929680: 4
4 es sólo un ejemplo al azar, pero este número indica un índice en el objeto $.cache
, donde los datos asociados y los eventos para este objeto DOM se almacenan. Así que dada esta información, para recuperar los datos del elemento de entrada anterior, indirectamente, podemos escribir:
$.cache[4]["foo"]
que debe devolver "barra", que es una forma indirecta de escribir $(e).data("foo")
.
Un illustrated example del disparate anterior :)
se almacena en el lado del cliente solamente, yo estaba usando los datos de jQuery y jQuery plugins meta datos retrive los datos y nunca se topó con ningún problema gracias – kobe