Вчера я обнаружил что-то странное, когда работал с куском JS-кода. У меня был div
, который был скрыт (display:none
), и я использовал его высоту в некоторых вычислениях в JS. Все это работало нормально, пока я не добавил свой "скрытый" класс (который имеет display:none !important
).
Вдруг высота всегда была 0
. На дисплее не было никаких изменений, кроме !important
.
После некоторого рытья я сузил проблему до того, что я нахожу довольно странным:
#b { display:none; } /* reported height is 36 */
#c { display:none !important; } /* reported height is 0 */
Я создал очень простой JSFiddle, чтобы изолировать это. Он также использует vanilla JS для получения высоты, которая, кажется, работает просто отлично/как ожидалось.
Кажется, что jQuery неправильно сообщает высоту о невидимых DIV и что !important
ведет себя правильно.
Является ли это ошибкой в jQuery?