如果要获取元素样式的最终值,通常情况下要使用getComputedStyle()方法。

为了兼容低版本的IE浏览器也要配合currentStyle属性使用。

代码实例如下:
   [ bootstrap ] 运行代码    下载代码
<!DOCTYPE html>
<html>
<head>
<meta charset=" utf-8">
<meta name="author" content="https://www.51qianduan.com/" />
<title>51前端</title>
<style type="text/css">
#antzone{
  border:1px red solid;
  float:left;
}
</style>
<script type="text/javascript">
function getStyle(obj,attr){
  if(obj.currentStyle){
    return obj.currentStyle[attr];
  } 
  else{
    return getComputedStyle(obj, false)[attr];
  }
}
window.onload=function(){
  var oLi=document.getElementById('antzone');
  var oshow=document.getElementById("show");
  oshow.innerHTML=(getStyle(oLi,'float'))
}
</script>
</head>
<body>
<ul>
  <li id="show"></li>
  <li id="antzone">51前端</li>
</ul>
</body>
</html>
上面的代码在IE和谷歌浏览器中没有任何问题,可以正确获取float属性值。

但是在火狐浏览器中则无法实现,这是因为float是javascript的保留字,所以要使用cssFloat这种形式。

代码修改如下:
   [ bootstrap ] 运行代码    下载代码
<!DOCTYPE html>
<html>
<head>
<meta charset=" utf-8">
<meta name="author" content="https://www.51qianduan.com/" />
<title>51前端</title>
<style type="text/css">
#antzone{
  border:1px red solid;
  float:left;
}
</style>
<script type="text/javascript">
function getStyle(obj,attr){
  if(obj.currentStyle){
    return obj.currentStyle[attr];
  } 
  else{
    return getComputedStyle(obj, false)[attr];
  }
}
window.onload=function(){
  var oLi=document.getElementById('antzone');
  var oshow=document.getElementById("show");
  if(isFirefox=navigator.userAgent.indexOf("Firefox")>0){  
    oshow.innerHTML=(getStyle(oLi,'cssFloat'))
  }
  else{
    oshow.innerHTML=(getStyle(oLi,'float'))
  }
}
</script>
</head>
<body>
<ul>
  <li id="show"></li>
  <li id="antzone">51前端</li>
</ul>
</body>
</html>

代码描述:getComputedStyle()方法 获取float属性值。getComputedStyle()方法获取float属性值代码实例



123 164



用户评论
大牛,别默默的看了,快登录帮我点评一下吧!:)      登录 | 注册



×
×
51前端

注册

×
绑定手机

请绑定手机号,在继续操作

×
单次下载支付

应付金额:279

支付完成后,回到下载页面,在进行下载

官方QQ群
意见反馈
qq群

扫描上面二维码加微信群

官方QQ群

jQuery/js讨论群
群号:642649996
Css3+Html5讨论群
群号:322131262

加群请备注:从官网了解到