Задать вопрос

Почему OffsetParent возвращает body, а не table?

<table>
			<div id="element">
				Lorem 
			</div>
	</table>

console.log(element.offsetParent); // body

Разве не table ближе?
  • Вопрос задан
  • 216 просмотров
Подписаться 1 Простой 1 комментарий
Помогут разобраться в теме Все курсы
  • Академия Эдюсон
    Fullstack-разработчик на JavaScript + ИИ
    11 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
  • ProductStar × РБК
    Профессия: Инженер по тестированию + ИИ
    6 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 3
dicem
@dicem

Свойство offsetParent содержит первый родительский элемент у которого CSS свойство position не равно static, либо body если его нет. То есть родителя относительно которого происходит позиционирование элемента.

Ну и собсна

The HTMLElement.offsetParent read-only property returns a reference to the element which is the closest (nearest in the containment hierarchy) positioned ancestor element. If there is no positioned ancestor element, the nearest ancestor td, th, table will be returned, or the body if there are no ancestor table elements either.

https://developer.mozilla.org/en-US/docs/Web/API/H...

Пример:
Ответ написан
Комментировать
А что Вы хотите получить, ближайший table? Тогда element.closest('table');
Ответ написан
Комментировать
@Che603000
c 2011 javascript
Не корректно помещать div внутрь table. Попробуйте так
<table>
   <tr> 
       <td>
          <div id="element">
              Lorem 
          </div>
       </td>
    </tr>
</table>
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы