Posso utilizzare la funzione data() per memorizzare un elemento dom (o un elemento jQuery) su un altro elemento? (vedi codice sotto)In jQuery, posso memorizzare elementi usando .data() su un altro elemento per il recupero veloce?
Lo memorizza per valore o per riferimento? È una buona pratica?
Voglio essere in grado di trovare rapidamente e facilmente l'elemento slave (vedi codice qui sotto) di un elemento maestro, in questo modo:
$slave = $('.some .path .to .slave');
$master = $('.some .path .to .master');
$master.data('slave', $slave);
$master.click(function(){ $(this).data('slave').toggle() });
(ovviamente il codice è stupido, ma sono in realtà . loop attraverso un sacco di master e slave elementi)
Indovino nè un riferimento nè una copia profonda del DOM, ma un oggetto jQuery che ha un sacco di cose e forse alcuni riferimenti agli oggetti DOM. – david
(Cos'è una variabile che fa riferimento a un oggetto jQuery se non è un riferimento?) –
sì ma mantenere un riferimento a un oggetto manterrebbe l'intero oggetto jQuery in ambito non lo sarebbe? non è solo un riferimento a un nodo dom che esisterebbe già che indovinerei. – david