嘿, 我是Mofei!
...

javascript获取元素的宽度、高度

教你用getComputedStyle准确获取元素宽高,解决style属性拿不到值的困扰。

2012年12月18日 20:24

在写一个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];
}
邮件订阅

写芬兰、生活,也写代码。有新文章时,直接发到你的邮箱。

更多文章

写这篇文章时想了很多问题,不知道你怎么看?

嘿,我是 Mofei

写代码,也认真生活。

订阅更新
© 2012–2026 Mofei·隐私政策·服务条款
用代码记录生活