获取页面元素的有效样式值

二是如果一个元素是100像素高,想获取他的当前高度,如果希望从样式属性中就能得到100px这样的精确结果,但是有时候并不能如愿。这是因为在 使用样 式表或者行内css所预设的样式信息并不能精确可靠的反应到当前的样式属性中。

所以以下方法可以找精确的找到对应的元素值:

 

 

 

写道
function getStyle(elem,name){
if(elem.style[name])
return elem.style[name];
else if(elem.currentStyle)
{
return elem.currentStyle[name];

}
else if(document.defaultView&&document.defaultView.getComputedStyle)
{
name=name.replace(/[A-Z]/g,"-$1");
name=name.toLowerCase();
var s=document.defaultView.getComputedStyle(elem,"");
return s&&s.getPropertyValue(name);

}
else return null;
} 
 

 

 

 

这个方法里头的关键字介绍:

currentStyle (    表示的是实际的属性 :    例如:行内样式是  100px  而样式表样式是200是px!important  那么 这个实际属性值就是200px
)

这一特定于 IE 的属性应用于元素的所有 CSS 属性的级联组。它是 Window.getComputedStyle() 的仅用于 IE 的替代。

当你无法确定元素的样式在哪里被定义,或元素同时被内联样式 和 CSS 规则定义又不能确定哪一处定义是最优先级的,这时你需要获取其最终呈现的样 式:

IE 为每个元素 提供的 currentStyle 对象;

FF(other) DOM 则从 document.defaultView 对象中访 问 getComputedStyle() 方法;(同样这个也是获取实际样式的值)

 

 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值