Spec-Zone.ru › jQuery

.offsetParent()

.offsetParent()Возвращает: jQuery

Описание: Получить ближайшего родительского элемента, который имеет позиционирование.

  • версия добавлена: 1.2.6.offsetParent()

    • Этот метод не принимает никаких аргументов.

Используя объект jQuery, представляющий набор элементов DOM, метод .offsetParent() позволяет нам искать предков этих элементов в дереве DOM и создавать новый объект jQuery, обернутый вокруг ближайшего родителя с позиционированием. Элемент считается позиционированным, если у него есть атрибут CSS position со значением relative, absolute, или fixed. Эта информация полезна для расчета смещений при выполнении анимаций и размещении объектов на странице.

Рассмотрим страницу с простым вложенным списком, содержащим позиционированный элемент:

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

Если мы начинаем с элемента A, мы можем найти его позиционированного предка:

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

Это изменит цвет пункта списка II, который имеет позиционирование.

Пример:

Найти offsetParent элемента "A".

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>offsetParent demo</title>
  <script src="https://code.jquery.com/jquery-3.7.0.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>

Демо:

© The jQuery Foundation and other contributors
Licensed under the MIT License.
https://api.jquery.com/offsetParent

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API