Вопрос по jquery, javascript – jQuery $ («body»). height () возвращает неопределенное значение

4

У меня есть звонок как это:

$("#ContextMenuModal").height($("body").height());

тем не мение$("body").height() возвращает неопределенное при просмотре в Firebug.

Что заставило бы jQuery возвращать undefined для роста?

Я использую jQuery 1.4.1.

Редактировать:

Это внутри рамки

Вы запускаете это после загрузки страницы? epascarello
@ ba & # x17E; megakapa Это большое приложение, которое я не могу опубликовать, я могу попытаться создать репродукцию, однако мне было интересно, были ли случаи, когда jquery не может определить высоту. dmck
Всегда трудно (в основном невозможно?) Найти ошибку, когда вы не видите код и работающую программу. kapa
@gdoron Нет ошибок dmck
Не видя тестового примера, мы можем только иметь дикие предположения о том, что может вызвать это. Пожалуйста, создайте демо или покажите страницу. Вотdemo that shows it working, Твой ход. kapa

Ваш Ответ

2   ответа
0

Использовать этот-

 $("body").css("height")

хорошо, я скажу, что jquery не нужен-

this.style.height;//it will not work if you add it as inline js.
11

$(document).height() // - $('body').offset().top

и / или

$(window).height()

вместо $ («тело»). высота ()

Чтобы немного расширить,

$(window).height();   // returns height of browser viewport
$(document).height(); // returns height of HTML document

Как указывает ба-мегакапа, есть небольшая разница, хотя и несколько пикселей. Истинную высоту тела можно рассчитать, вычтя смещение тела из высоты документа (как я упоминал выше):

$(document).height() - $('body').offset().top
$ (window) .height () и $ (document) .height () также оба возвращают undefined для меня dmck
@ Норс Несколько пикселей, да. Документ может быть намного выше, чем окно просмотра. И если вы установитеbody { margin-top: 2000px; }Я бы сказал, что документ будет намного больше, чем тело :).A previous question about this.
-1 для показа функций и не предоставления объяснения / описания. Существует большая разница между этими двумя (ну, три).
@ ba & # x17E; megakapa Вы правы. Спасибо что подметил это :)

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