Domanda

Può uno mi dove i negozi jquery data() i dati e dire quando è ottenere cancellati e come?

C'è un problema di prestazioni se uso questo per memorizzare ajax risultato chiamata?

Ad esempio:

$("body").data("test", { myData: 'abcd'});
È stato utile?

Soluzione

vedere il contenuto da jquery

Il metodo jQuery.data () ci dà la possibilità dati di qualsiasi tipo ad elementi DOM in un modo che è sicuro da riferimenti circolari e quindi senza perdite di memoria. jQuery assicura che i dati viene rimosso quando elementi DOM vengono rimossi tramite metodi jQuery, e quando le foglie utente pagina. Siamo in grado di impostare diversi valori distinti per un singolo elemento e recuperarli in seguito:

Altri suggerimenti

Tutti i dati sono memorizzati all'interno di una proprietà dell'oggetto jQuery nome cache. Entra il contenuto del $.cache nella vostra console per vedere tutti i dati e gli eventi associati con qualsiasi elemento DOM.

Il modo jQuery collega un oggetto DOM con un oggetto in questa cache è manipolando l'oggetto DOM. Supponiamo di avere un elemento di input

<input type="text" value="hello" />

che ha una chiave di dati denominato "foo"

$(e).data("foo", "bar");

Ora jQuery mantiene una stringa casuale di forma jQuery<current time in ms>, ad esempio, jQuery1291790929680, che è accessibile da $.expando anche. jQuery aggiunge questa stringa expando come una chiave per ogni oggetto DOM che ha un elemento di dati associato o evento. Quindi l'oggetto DOM per l'elemento di input sopra conterrà questa chiave expando con un valore intero tale:

jQuery1291790929680: 4

4 è solo un esempio casuale, ma questo numero indica un indice nell'oggetto $.cache, in cui sono memorizzati i dati associati ed eventi per questo oggetto DOM. Quindi, dato queste informazioni, per recuperare i dati del elemento di input sopra, possiamo indirettamente scrivere:

$.cache[4]["foo"]

, che dovrebbe tornare "bar", che è un modo indiretto di scrivere $(e).data("foo").

illustrato esempio del dialogo sopra:)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top