在使用ie中,特别在目前div+css的方式,往往不定义div的高度,这是在添加div内容后,需要获取div的高度时,往往需要用到offsetheight。
在使用中,有时会碰到offsetheight获取到为0的现象,但如果你用各种js调试工具调试,又能在对象中看到值(如果直接指向offsetheight是没值的,但如果是对象查看是有值的,在调试器中回车查看对象就已经刷新对象了,所以有值。)
比如下面片段
复制代码 代码如下:
'
+ 'danielinbiti
'
+ ''
+ ''
+ 'danielinbiti
'
+ '
'
document.getelementbyid('outer').innerhtml=html1;
document.getelementbyid('divcj2').style.display='none';
alert(document.getelementbyid('divcj2').offsetheight);
}
如果获取divcj的高度,那么在onload中获取到的是0。因为divcj下有float方式布局的。
这时如果div简单,可以借助隐藏层,比如这里的divcj2,把float去掉后,获取到的高度和divcj一样高。