获取动态创建元素的高度
我动态创建了一个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); });
它会起作用。