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

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

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

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

Разве не table ближе?
  • Вопрос задан
  • 202 просмотра
Подписаться 1 Простой 1 комментарий
Пригласить эксперта
Ответы на вопрос 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...

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

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

Похожие вопросы
Rocket Смоленск
от 80 000 до 130 000 ₽
div. Ставрополь
от 40 000 до 90 000 ₽
Wanted. Санкт-Петербург
До 220 000 ₽
18 дек. 2024, в 11:03
5000 руб./за проект
18 дек. 2024, в 10:44
130000 руб./за проект
18 дек. 2024, в 10:02
7000 руб./за проект