I didn't really expect that closest would return the last element of a cascading selector match, but I can see how that might be useful also. I was trying to use the selector to qualify a direct ancestor, not select a secondary element out of the ancestry tree. I wanted something that worked like .closest() but allowed me to filter out ancestors that didn't meet the filter, and stopped on the first match that did meet the filter. My attempted usage was actually $(obj).closest('div img[src*="some_indicator"]') rather than a simple list element in my example. I was expecting it to return the first direct div ancestor that had an img somewhere in it's child hierarchy that had a specific pattern in its image path.
Perhaps .closest() could take a filter function similar to .filter() or .not() so that this type of functionality could be added without having to duplicate the basic function of .closest() or invalidate the way .closest() works now?