动态div元素高度在追加后返回0

时间:2013-11-10 04:26:42

标签: jquery html dynamic height

这是我的代码的一部分。它在一个循环中。

{//just to show its inside loop
ph = "<a id=\"" + id + "\" class=\"polaroid\" href=\"" + 
src + ".jpg\"><img src=\"" + src + "_q.jpg\"><p>" + item.title + "</p></a>";
$("#images").append(ph);
}

一旦运行,它会将ph附加到图像div,但是当我调用$(“#images”)。height();它返回0.我已经调用了div之外的高度,在添加了所有元素之后它仍然返回0.任何想法都将受到赞赏。此外,“#images”不是动态创建的,只是动态填充。

这是我的HTML:

<body><div id="images"></div>

2 个答案:

答案 0 :(得分:1)

唉,我想通了,我为所有元素(不同的颜色)添加了边框,我注意到即使在DOM中它显示为#images div内的标签,它们也在#images边框之外,所以我去了css并添加了overflow-y:auto,他们在边框内显示,现在我从$(“#images).height()获得了一个值。谢谢你们的帮助,它让我专注于可能的原因和最终的解决方案。

答案 1 :(得分:0)

这样的事情会起作用吗?

$(document).ready(function() {
    for(var i=0;i<3;i++)
    {
        ph = "<img src=\"http://placekitten.com/g/30/30\" alt=\"\" />";
        $("#images").append(ph);
    }

    $("img").one('load', function() {
        $("#height").html($("#images").height());
    });
});