Получить высоту 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. Так стыдно, что я этого не заметил.

Другие вопросы по тегам