.offsetParent()

.offsetParent( ) 1.2.6追加

戻り値:jQuery

マッチした要素の先祖要素で、スタイルでポジション指定(positiionがrelative, absolute, fixedのいずれか)されているものを取得します。 このメソッドはアニメーションやページ上でのオブジェクト等の位置計算を行う際に非常に便利です。

引数 説明
selector マッチした要素の先祖要素で、スタイルでポジション指定(positiionがrelative, absolute, fixedのいずれか)されているものを取得します。

補足事項

次のようなposition指定を含むリストのコードがあった場合、

<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>

item-aを起点に.offsetParent()を実行すると、position指定をされているitem-iiを見つけ、 その背景を赤に変更します。

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

デモ

item-a(A)の要素のoffsetParentの背景を赤くします。

<!DOCTYPE html>
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.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>

 Back to top

© 2010 - 2017 STUDIO KINGDOM