Ho eseguito ieri un problema con un jquery-selector assegnato a una variabile e mi sta facendo impazzire.Come aggiornare una variabile selettrice jquery memorizzata e istantanea
Ecco un jsfiddle con TestCase:
- assegnare il .elem al mio obj var
- registro entrambe le lunghezze alla console. Risultato => 4
- Rimuovere # 3 dal DOM
- registro obj alla console => il rimosso 3 # è ancora lì e la lunghezza è ancora 4. ho capito quella query jQuery è snapshotted? alla variabile e non può? no? essere aggiornati
- registro .elem alla console .. sì Risultato => 3 e la # 3 è andato
- Ora aggiorno .elem con una nuova larghezza di 300
- registrazione obj & obj.width mi dà 300 .. Quindi l'istantanea è stata aggiornata? La cosa interessante è che 3 dei 4 div hanno la nuova larghezza, ma il rimosso 3 # non lo fa ...
Un altro test: Aggiunta di un elemento li al domtree e la registrazione obj e .elem. .elem ha il nuovo Li e obj non lo fa, perché è ancora il vecchio snapshot
Non c'è un modo per aggiornare questo obj con i nuovi contenuti? Non voglio creare un nuovo oggetto, perché nella mia applicazione ci sono molte informazioni salvate in quell'oggetto, non voglio distruggere ...
Grazie per l'aiuto e la spiegazione! Ha funzionato molto bene con la chiamata .selector. È un metodo interno jquery? non è stato possibile trovare alcuna documentazione per quella chiamata. Comunque .. Ho cambiato un po 'il mio codice e ho creato un nuovo setter per quel conteggio e lo ho chiamato con setCount ($ ... length) che funziona anche abbastanza bene. – Ralk
@Ralk la proprietà '.selector' è tecnicamente interna sì. – Esailija
@Esailija - Non funziona qui: http://jsfiddle.net/nJeqf/ (La proprietà .selector era deprecata in jQuery 1.7). http://api.jquery.com/selector/ –