2011-01-17 16 views
12

Ho una domanda riguardante jQuery. Ho uno li che scivola fuori, ora voglio ricordare se è stato rimosso, quindi voglio impostare una variabile booleana slidedOut.jquery, aggiungi variabile all'elemento?

È possibile aggiungerlo semplicemente all'elemento? O dovrei aggiungere un elemento nascosto div all'elemento?

risposta

21

Per questo è possibile utilizzare .data().

Qualcosa di simile

$("#yourli").data("slidedOut", false); 
+0

è possibile ottenere il valore con 'valore var = $ ("# yourli") dei dati ("slidedOut");.' –

1

Utilizzando jquery data è considerato il modo standard per farlo - anche se ci sono un sacco di altri modi per farlo.

Un'alternativa è semplicemente:

$("#myli")[0].slidedOut = true; 
alert($("#myli")[0].slidedOut); 
+1

Il tuo esempio non funzionerà. Crei un nuovo oggetto ogni volta che chiami '$()', quindi impostando una proprietà uno non influenzerà nessun altro, anche quando è lo stesso elemento selezionato. Si noti che '$ ('# myli') [0] .slidedOut' * dovrebbe * funzionare, ma non è la migliore pratica. – lonesomeday

+0

Grazie. Stai bene. L'ho aggiornato. – Aliostad

1

Un'altra opzione è quella di utilizzare le classi CSS. Questa particolarità è utile se non si salvano realmente i dati (solo una bandiera) o se si desidera modificare la progettazione di questi o dei loro figli.