Мне нужно измерить offsetHeight div, который находится внутри скрытого элемента.
<div id="parent" style="display: none;">
<div id="child">Lorem Ipsum dolor sit amet.</div>
</div>
Родительский div должен быть установлен на "display:none
". Я не контролирую это. Я понимаю, что offsetHeight дочернего div будет 0. Мне нужно найти обходное решение.
Что-то, с чем я играл, - это когда загружается страница, я копирую дочерние элементы родителя, вставляю в div на странице, которая установлена на "visiblity:hidden
". Затем я измеряю высоту этих элементов и удаляю узлы по завершении.
Любые другие мысли?
Update: Что мне пришлось сделать, так это:
Используя YUI 2, на загрузке страницы, я нашел все элементы этого заданного имени класса, которые либо были установлены для отображения: none, либо высота и ширина которых равны 0 (один способ измерения существования элемента или родителя для отображения: нет). Затем я устанавливаю этот элемент для отображения: block. Затем я проверил его родитель для того же самого и показал родителям, пока не найдет видимого родителя. После наивысшего отображения: ни один предк не установлен для отображения: block, я могу измерить свой элемент.
После измерения всех элементов я reset все элементы, возвращаемые на дисплей: none.