# .offsetParent()

Categories: Offset | Traversing > Tree Traversal

## .offsetParent() Returns: jQuery

Description: Get the closest ancestor element that is positioned.

- #### version added: 1.2.6.offsetParent()

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:

    <ul class="level-1">
      <li class="item-i">I</li>
      <li class="item-ii" style="position: relative;">II
        <ul class="level-2">
          <li class="item-a">A</li>
          <li class="item-b">B
            <ul class="level-3">
              <li class="item-1">1</li>
              <li class="item-2">2</li>
              <li class="item-3">3</li>
            </ul>
          </li>
          <li class="item-c">C</li>
        </ul>
      </li>
      <li class="item-iii">III</li>
    </ul>

If we begin at item A, we can find its positioned ancestor:

    $('li.item-a').offsetParent().css('background-color', 'red');

This will change the color of list item II, which is positioned.

### Example:

#### Find the offsetParent of item "A."

    <!DOCTYPE html>
    <html>
    <head>
      <script src="http://code.jquery.com/jquery-1.7rc2.js"></script>
    </head>
    <body>

        <ul class="level-1">
          <li class="item-i">I</li>
          <li class="item-ii" style="position: relative;">II
            <ul class="level-2">
              <li class="item-a">A</li>
              <li class="item-b">B
                <ul class="level-3">
                  <li class="item-1">1</li>
                  <li class="item-2">2</li>
                  <li class="item-3">3</li>
                </ul>
              </li>
              <li class="item-c">C</li>
            </ul>
          </li>
          <li class="item-iii">III</li>
        </ul>

    <script>$('li.item-a').offsetParent().css('background-color', 'red');</script>

    </body>
    </html>

#### Demo: