Это часть моего кода. Он находится внутри цикла.
{//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 div, однако, когда я вызываю $ ("# images"). height(); он возвращает 0. Я поместил вызов на высоту вне div, после того как все элементы были добавлены, и он все равно возвращает 0. любые идеи будут оценены. Кроме того, "#images" не создается динамически, просто динамически заполняется.
вот мой html:
<body><div id="images"></div>
Увы, я понял, я добавил границы всем элементам (разные цвета), и я заметил, что, хотя в DOM он показывался как теги, находящиеся внутри #images div, они были вне границ #images, поэтому я пошел css и добавил overflow-y: auto, и они отображались внутри границы, и теперь я получаю значение от $ ("# images).height(). Благодарю вас, ребята, за вашу помощь, это позволило мне сосредоточиться на возможной причине и возможное решение.
Будет что-то вроде этой работы?
$(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());
});
});
height
могла быть вызвана до загрузки области изображений