JQuery height() возвращает ложные значения
Я пытаюсь использовать jQuery, чтобы установить высоту нескольких divs, чтобы они были одинаковой высоты, как самый высокий div. В основном я прохожу через div и получаю высоту от каждого из них, сохраняя наибольшую в переменной. Затем я снова прокручиваю все их и устанавливаю их высоту на переменную.
Однако jQuery дает мне неправильное значение для высоты. Например, функция height() для первого div возвращает 633, но когда я смотрю на нее в инспекторе, она говорит, что это 603. У меня нет абсолютно никакой идеи, почему это делается. Похоже, что это включает в себя дополнения и поля, но в документации говорится, что это не должно быть сделано.
Высота для divs устанавливается как auto в моей таблице стилей. Если я дам им фиксированную высоту пикселя, функция jQuery height() вернет правильное значение, но не тогда, когда оно будет включено автоматически (как и должно быть).
Этот сайт является ictsf.org. Обратите внимание на дополнительное пространство внизу трех столбцов.
Ответы
Ответ 1
Проблема связана с кодом "выравнивание высоты столбца", который работает на $(document).ready()
, что происходит до того, как WebKit узнает о высоте ваших изображений.
Итак, самое быстрое исправление заключается в том, чтобы вместо этого запустить код $(window).load()
. Или, что еще лучше, используйте плагин imagesLoaded.
В качестве альтернативы, установка атрибута height
на img
может устранить проблему.
Ответ 2
Возможно, вы ищете: http://api.jquery.com/outerHeight/