Filter element based on .data() key/value
filter, jquery
Solution
your filter would work, but you need to return true on matching objects in the function passed to the filter for it to grab them.
var $previous = $('.navlink').filter(function() {
return $(this).data("selected") == true
});
Problem
Say I have 4 div elements with class `.navlink`, which, when clicked, use `.data()` to set a key called `'selected'`, to a value of `true`: ``` $('.navlink')click(function() { $(this).data('selected', true); }) ``` Every time a new `.navlink` is clicked, I would like to store the previously selected `navlink` for later manipulation. Is there a quick and easy way to select an element based on what was stored using `.data()`? There don't seem to be any jQuery :filters that fit the bill, and I tried the following (within the same click event), but for some reason it doesn't work: ``` var $previous = $('.navlink').filter( function() { $(this).data("selected") == true } ); ``` I know that there are other ways to accomplish this, but right now I'm mostly just curious if it can be done via `.data()`.