获取动态创建元素的高度

时间:2012-11-30 06:59:06

标签: javascript jquery

我动态创建了一个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的高度。

2 个答案:

答案 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);
});

它会起作用。