Получить высоту DIV и его содержание с JQuery
У меня есть div, который содержит несколько элементов:
<div class="menuItem designMenu" id="dMenu">
<ul class="menuList menu">
<li class="menuHeader">Design</li>
<li class="projectHeader">Mother</li>
<li class="projectBody">Some text here</li>
<li class="more">More</li>
</ul>
</div>
Мне нужно получить высоту элементов dMenu, чтобы я мог анимировать их вверх, включая весь контент внутри. Мой Javascript в настоящее время:
var designHeight = $("#dMenu").height();
Ничего не возвращает
я пробовал offsetHeight
, scrollHeight
, и все остальное Google появляется. Я запускаю jQuery в конце тела, внутри функции готовности документа.
Причина для того, чтобы оживить высоту вместо того, чтобы делать это вручную, заключается в том, что a: я хотел бы узнать, как и b: я еще не знаю, сколько элементов будет в div.
2 ответа
Являются ли li
в пределах ul
плавали? Если это так, и родитель не имеет overflow: hidden
родитель рушится и поэтому не имеет высоты. Попробуйте (если возможно) добавить overflow: hidden
к родительскому элементу, или жестко запрограммируйте высоту в вашем CSS.
Я использую scrollHeight, чтобы получить то, что я хочу. Я также, смущенно, заметил, как я возился с вещами, которые загружал JS перед загрузкой JQuery. Так стыдно, что я этого не заметил.