我动态创建了一个div并试图获得它的高度。我没有为它指定固定高度。但其内容分配了固定的高度。所以我试着获得它的渲染高度。
$(function(){
$services = $(<div id="services"></div>);
$img = $(<img src="abc.jpg" height="100px" width="100px">);
$a = $("<a href="home.php">Go to home</a>");
$services.append($img,$a);
});
$(function(){
var height = $("#services").height();
});
我的身高值为0。
所以我无法渲染div#services
的高度。
答案 0 :(得分:6)
在测量之前,您需要将元素添加到DOM:
$('body').append($services);
var height = $("#services").height(); // works now
如果你需要它的高度才能看到它,一个常见的技巧是将它添加到DOM 隐藏,测量它,然后使其可见。
答案 1 :(得分:0)
你应该先将这些Dom Elements显示给Page!
在您的情况下,$服务不会显示在页面上,因此结果$(“#services”)将一无所获。
尝试这样做:
$(function(){
$services = $(<div id="services"></div>);
$img = $(<img src="abc.jpg" height="100px" width="100px">);
$a = $("<a href="home.php">Go to home</a>");
$services.append($img,$a);
//here
$("body").append($services);
});
它会起作用。