jQuery 中元素的高度 returns 0

Height returns 0 of element in jQuery

好的,所以我对元素 return 的高度为 0 有点问题。它在 window 调整大小函数中工作,但我需要它来加载它第一次加载,下面的代码在document ready下,但是还是获取不到高度

这个元素一开始是隐藏的,所以我更改了元素样式以便它可以读取它的高度,但由于某些原因它不起作用。当我检查检查元素时它说高度是 107 像素。

$(".extracoinfo")
    .css({
        position:   'absolute',
        visibility: 'hidden',
        display:    'block'
    });

    var modal_info_height   = $(".extracoinfo").height();

    // Remove styling
    $(".extracoinfo")
    .css({
        position:   'relative',
        visibility: 'visible',
        display:    'none'
    });

CSS 元素样式

display: none;
margin-top: 15px;
padding-top: 10px;
border-top: 1px solid #e4e4e4;

HTML代码

<div class="extracoinfo">

                            <h4>title</h4>
                            <p>description</p>

                            <ul class="data">

                                <li><b>till:</b> a141</li
                                ><li><b>Minimum:</b> </li
                                ><li><b>Valid :</b> test</li>

                            </ul>

                        </div>

我也尝试过内部和外部高度,它确实 return padding/margin 高度,但由于某种原因它无法获得内容高度,我知道它在那里。 .

如果元素包含图像,有时会发生这种情况。

尝试使用 $(window).load() 而不是 $(document).ready()

尝试使用:

window.onload = function() {
 console.log($(".extracoinfo").height());
};