{"name":"prevAll","type":"method","title":".prevAll()","deprecated":null,"removed":null,"desc":"Get all preceding siblings of each element in the set of matched elements, optionally filtered by a selector.","categories":["traversing/tree-traversal","version/1.2"],"entries":[{"return":"jQuery","signatures":{"added":"1.2","argument":{"desc":"A string containing a selector expression to match elements against.","name":"selector","optional":"true","type":"Selector"}},"examples":{"desc":"Locate all the divs preceding the last div and give them a class.","code":"\n$( \"div:last\" ).prevAll().addClass( \"before\" );\n","css":"\n div {\n width: 70px;\n height: 70px;\n background: #abc;\n border: 2px solid black;\n margin: 10px;\n float: left;\n }\n div.before {\n border-color: red;\n }\n","html":"\n
\n\n\n\n"},"longdesc":"\nGiven a jQuery object that represents a set of DOM elements, the .prevAll() method searches through the predecessors of these elements in the DOM tree and construct a new jQuery object from the matching elements; the elements are returned in order beginning with the closest sibling.
The method optionally accepts a selector expression of the same type that we can pass to the $() function. If the selector is supplied, the elements will be filtered by testing whether they match it.
Consider a page with a simple list on it:
\n\n<ul>\n <li>list item 1</li>\n <li>list item 2</li>\n <li class=\"third-item\">list item 3</li>\n <li>list item 4</li>\n <li>list item 5</li>\n</ul>\n \n If we begin at the third item, we can find the elements which come before it:
\n\n$( \"li.third-item\" ).prevAll().css( \"background-color\", \"red\" );\n \n The result of this call is a red background behind items 1 and 2. Since we do not supply a selector expression, these preceding elements are unequivocally included as part of the object. If we had supplied one, the elements would be tested for a match before they were included.
\n "}]}