Javascript 获取动态创建的元素的高度
我动态创建了一个div,并尝试获取其高度。我没有给它指定固定的高度。但其内容被指定为固定高度。所以我试图得到它的渲染高度Javascript 获取动态创建的元素的高度,javascript,jquery,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 hom
$(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();
});
$(函数(){
$services=$();
$img=$();
$a=$(“”);
$services.append($img,$a);
});
$(函数(){
变量高度=$(“#服务”).height();
});
我得到的高度值为0
因此,我无法渲染
div#services的高度
在测量之前,您需要将元素添加到DOM中:
$('body').append($services);
var height = $("#services").height(); // works now
如果在使其可见之前需要其高度,一个常见的技巧是将其添加到隐藏的DOM中,测量它,然后使其可见。在测量之前需要将元素添加到DOM中:
$('body').append($services);
var height = $("#services").height(); // works now
如果在使其可见之前需要其高度,一个常见的技巧是将其添加到隐藏的DOM中,测量它,然后使其可见。您应该首先向页面显示这些DOM元素 在您的情况下,$services不会显示在页面上,因此结果$(“#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);
});
$(函数(){
$services=$();
$img=$();
$a=$(“”);
$services.append($img,$a);
//这里
$(“正文”)。附加($服务);
});
它会起作用。您应该首先向页面显示那些Dom元素 在您的情况下,$services不会显示在页面上,因此结果$(“#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);
});
$(函数(){
$services=$();
$img=$();
$a=$(“”);
$services.append($img,$a);
//这里
$(“正文”)。附加($服务);
});
它会起作用的