.prev()

Get the immediately preceding sibling of each element in the set of matched elements. If a selector is provided, it retrieves the previous sibling only if it matches that selector.

.map()

Pass each element in the current matched set through a function, producing a new jQuery object containing the return values.

.promise()

Return a Promise object to observe when all actions of a certain type bound to the collection, queued or not, have finished.