{"name":"offsetParent","type":"method","title":".offsetParent()","deprecated":null,"removed":null,"desc":"Get the closest ancestor element that is positioned.","categories":["offset","traversing/tree-traversal"],"entries":[{"return":"jQuery","signatures":{"added":"1.2.6"},"examples":{"desc":"Find the offsetParent of item \"A.\"","height":"250","code":"$( \"li.item-a\" ).offsetParent().css( \"background-color\", \"red\" );","html":"\n
Given a jQuery object that represents a set of DOM elements, the .offsetParent() method allows us to search through the ancestors of these elements in the DOM tree and construct a new jQuery object wrapped around the closest positioned ancestor. An element is said to be positioned if it has a CSS position attribute of relative, absolute, or fixed. This information is useful for calculating offsets for performing animations and placing objects on the page.
Consider a page with a basic nested list on it, with a positioned element:
\n\n<ul class=\"level-1\">\n <li class=\"item-i\">I</li>\n <li class=\"item-ii\" style=\"position: relative;\">II\n <ul class=\"level-2\">\n <li class=\"item-a\">A</li>\n <li class=\"item-b\">B\n <ul class=\"level-3\">\n <li class=\"item-1\">1</li>\n <li class=\"item-2\">2</li>\n <li class=\"item-3\">3</li>\n </ul>\n </li>\n <li class=\"item-c\">C</li>\n </ul>\n </li>\n <li class=\"item-iii\">III</li>\n</ul>\n \n If we begin at item A, we can find its positioned ancestor:
\n\n$( \"li.item-a\" ).offsetParent().css( \"background-color\", \"red\" );\n \n This will change the color of list item II, which is positioned.
\n "}]}