0

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

{//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 之外调用了 height,在添加了所有元素之后它仍然返回 0。任何想法都将不胜感激。此外,“#images”不是动态创建的,只是动态填充的。

这是我的html:

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

2 回答 2

1

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

于 2013-11-10T22:35:47.743 回答
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());
    });
});
于 2013-11-10T10:07:40.510 回答