通过jquery确定动态html元素的高度和宽度

时间:2011-10-27 06:04:12

标签: jquery

假设我有一个js变量,我的html数据就像

一样存储在其中
var data = '<div id="tst">here will be my othere html</div>'

在这种情况下,我可以确定什么是高度&amp;使用jquery的div tst的宽度?

一个人给我解决方案

var $test = $(data).appendTo('body');
var size;

window.setTimeout(function(){
 size = {
     height: $test.height(),
     width: $test.width()
 };
 $test.remove();
}); 

但上面的代码看起来有点复杂。如果有人知道简单的解决方案,那么请给我一个示例代码来做到这一点。感谢

2 个答案:

答案 0 :(得分:3)

这段代码就足够了:

//put html from variable at the end of <body>
var $test = $(data).appendTo('body');

//determine height and width and put into one variable for convenience
var size = {
   height: $test.outerHeight(),
   width: $test.outerWidth()
};

请注意,甚至不必使用size。您可以将其分为2个变量widthheight。这只是个人偏好。

另请注意,我更倾向于使用.outerHeight().outerWidth(),因为常规.width() / .height()不计算边框。由你来决定你真正需要哪些;)

答案 1 :(得分:-1)

你可以这样做

在文档就绪时,高度将是您在ID

中定义的高度
$(document).ready(function() {
$("#tst").css({'height' : '100px'});
});