以编程方式确定div元素的高度

时间:2013-01-05 11:07:29

标签: javascript html

我正在尝试获得div的高度,然后根据高度定位它。我已经阅读过关于此的各种文章,但我似乎总是得到NaN作为结果。是的,在绘制div之后,javascript被加载到正文的末尾。

我正在使用asp.net动态创建这个javascript。到目前为止我输出的是:

var resultsDiv = document.getElementById('resultsDiv');
var resultsInnerDiv = document.getElementById('resultsInnerDiv');
resultsInnerDiv.innerHTML = "test";
var h = parseInt(resultsInnerDiv.style.offsetHeight);
alert(parseInt(resultsInnerDiv.style.offsetHeight));
resultsInnerDiv.style.top = ((h / 2) -125) + 'px';

我需要获得实际高度,而不是NaNNaN像素显然无效。

2 个答案:

答案 0 :(得分:3)

我认为你需要的是:

var resultsDiv = document.getElementById('resultsDiv');
var resultsInnerDiv = document.getElementById('resultsInnerDiv');
resultsInnerDiv.innerHTML = "test";
var h = parseInt(resultsInnerDiv.offsetHeight);
alert(parseInt(resultsInnerDiv.offsetHeight));
resultsInnerDiv.style.top = ((h / 2) -125) + 'px';

offsetHeight不是element.style的属性,而是元素本身(请参阅here)。

答案 1 :(得分:0)

试试这个:

var resultsDiv = document.getElementById('resultsDiv');
var resultsInnerDiv = document.getElementById('resultsInnerDiv');

resultsInnerDiv.innerHTML = "test";

var h = parseInt(resultsInnerDiv.offsetHeight);

alert(h);

resultsInnerDiv.style.top = ((h / 2) -125) + 'px';