javascript获取元素的宽度、高度

在写一个javascript截图功能的时候,想获取一个没有定义css的div的宽度,于是使用了

var a=doucment.getElementById('dom').style.width

结果惊奇的发现获取到的值是undefined... WHY??

尝试了offsetWidth结果发现不是自己想要的值,突然想到曾经看到过computerStyle之类的东西,于是百度之,终于知道为什么了。

style                  //只能获取元素的内联样式,内部样式和外部样式使用style是获取不到的。
currentStyle         //可以弥补style的不足,但是只适用于IE。
getComputedStyle     //同currentStyle作用相同,但是适用于FF、opera、safari、chrome。

研究之后发现了可以用getComputedStyle来获取

getStyle: function(element,attr){
     return (el.currentStyle?el.currentStyle:getComputedStyle(el,null))[attr];
}
Write a response...
Mofei Zhu
publish
知足常乐
2013-09-08 15:25
el.currentStyle?el.currentStyle:getComputedStyle(el,null)
0
 Replay
@知足常乐  
Replay