获取动态创建元素的高度

我动态创建了一个div并试图获得它的高度。 我没有为它指定固定高度。 但其内容分配了固定的高度。 所以我试图获得它的渲染高度。

$(function(){ $services = $(
); $img = $(); $a = $("Go to home"); $services.append($img,$a); }); $(function(){ var height = $("#services").height(); });

我得到的身高值为0。

所以我无法渲染div#services高度。

在测量之前,您需要将元素添加到DOM:

 $('body').append($services); var height = $("#services").height(); // works now 

如果在使其可见之前需要它的高度,一个常见的技巧是将它添加到隐藏的DOM中,测量它,然后使其可见。

你应该首先向页面显示那些Dom Elements!

在您的情况下,$服务不会显示在页面上,因此结果$(“#services”)将一无所获。

试着这样做:

 $(function(){ $services = $(
); $img = $(); $a = $("Go to home"); $services.append($img,$a); //here $("body").append($services); });

它会起作用。