Say Ho 4 elementi div con class .navlink
, che, quando cliccato, utilizzare .data()
per impostare una chiave denominata 'selected'
, ad un valore di true
:elemento filtro basato su .data()/valore
$('.navlink')click(function() { $(this).data('selected', true); })
Ogni volta che si fa clic su un nuovo .navlink
, desidero memorizzare lo navlink
selezionato in precedenza per la successiva manipolazione. C'è un modo semplice e veloce per selezionare un elemento in base a ciò che è stato memorizzato utilizzando .data()
?
Non sembrano essere qualsiasi jQuery : filtri che misura la fattura, e ho provato la seguente (all'interno dello stesso evento click), ma per qualche motivo non funziona:
var $previous = $('.navlink').filter(
function() { $(this).data("selected") == true }
);
So che ci sono altri modi per farlo, ma in questo momento sono per lo più curioso di sapere se è possibile farlo tramite .data()
.
è triste non c'è un modo più breve per questo. troppo disordinato. – vsync
Si prega di notare che questo non è più l'unico modo per farlo, StefanoP ha fornito alternative –
@NathanKoop, non del tutto. Vedi il mio commento sulla sua risposta. –