getComputedStyle与currentStyle的区别

先看个例子

<!DOCTYPE html>
<html lang="en">
<script src="miaov.js"></script>
<head>
    <meta charset="UTF-8">
    <title>return返回值</title>
    <style>
        #div1{
            width:50px;
            height:50px;
            background-color: greenyellow;
        }
    </style>
</head>
<body>
<button id="btn">按钮</button>
<div id="div1" style="width:400px;"></div>
</body>
<script>
//    alert(typeof fn1());
//
//    function fn1(){
//        return ‘miaov‘;
//    }
//
//    alert(typeof fn2(10)(20));
//    function fn2(a){
//        return function(b){
//            alert(a+b);
//        }
//    }
  /*  $(function(){});

    function $(v){
        if(typeof v===‘function‘){
            window.onload = v;
        }else if(typeof v==‘string‘){
            return document.getElementById(v);
        }else if(typeof v===‘object‘){
            return v;
        }
    }*/
  $(function(){
      $("btn").onclick = function(){
          $(‘div1‘).style.width=‘300px‘;

        // alert($(‘div1‘).style.width);  是行内样式才可以获取到宽度

         // alert(getComputedStyle($(‘div1‘)).width); //300px
          //获取到的是计算机计算后的样式,在低于IE9不起作用
          //alert($(‘div1‘).currentStyle.width); 在IE低版本6,7,8下才能用,其他浏览器反而失效

          //兼容性的写法
          if($(‘div1‘).currentStyle){
                alert($(‘div1‘).currentStyle.width);
          }else{
              alert(getComputedStyle($(‘div1‘)).width);
          }
      }

  });
  //调用getStyle
alert(getStyle($(‘div1‘),‘height‘));
  function getStyle(obj,attr){
      if(obj.currentStyle){
          return obj.currentStyle[attr];
      }else{
          return getComputedStyle(obj)[attr];
      }

//三目运算
        // return obj.currentStyle ? obj.currentStyle[attr]: getComputedStyle(obj)[attr];

  }
//不要获取未设置的样式
   // 不要获取复合样式(如:background)
</script>
时间: 2024-10-12 10:53:13

getComputedStyle与currentStyle的区别的相关文章

获取css样式,style、getComputedStyle及currentStyle的区别

样式表有三种: 内嵌样式:<div id="box" style="color:red">box</div>,style写在html中的为内嵌样式: 内联样式: <style> #box{    font-size: 25px;    background-color: #ccc; } </style> 在html页中直接写入<style></style>的为内联样式: 外部样式:<lin

getComputedStyle(and currentStyle)

1.getComputedStyle 1.1 用法: currentStyle获取计算后的样式,也叫当前样式.最终样式.优点:可以获取元素的最终样式,包括浏览器的默认值,而不像style只能获取行间样式,所以更常用到.注意:不能获取复合样式如background属性值,只能获取单一样式如background-color等. currentStyle 在ie.opera上是可行的,无法适用于所有浏览器的getComputedStyle( obj , false ) 是支持 w3c (FF12.ch

getComputedStyle与currentStyle获取样式(style/class)

大家都知道,用document.getElementById(‘element').style.xxx可以获取元素的样式信息,可是它获取的只是DOM元素style属性里的样式规则,对于通过class属性引用的外部样式表,就拿不到我们要的信息了. DOM标准里有个全局方法getComputedStyle,可以获取到当前对象样式规则信息,如:getComputedStyle(obj,null).paddingLeft,就能获取到对象的左内边距.但是事情还没完,万恶的IE不支持此方法,它有自己的一个实

getComputedStyle和currentStyle

1 /*alert(div.style.width)*/ //null 2 3 function getstyle(obj,name){ 4 if(obj.currentStyle) { 5 return obj.currentStyle[name]; 6 } else { 7 return getComputedStyle(obj,null)[name]; 8 } 9 } 10 alert(getstyle(div,'width')) 11 } 兼容ie 和非ie浏览器的获取样式写法 : zI

getComputedStyle与currentStyle

currentStyle:获取计算后的样式,也叫当前样式.最终样式. 优点:可以获取元素的最终样式,包括浏览器的默认值,而不像style只能获取行间样式,所以更常用到. 注意:不能获取复合样式如background属性值,只能获取单一样式如background-color等. alert (oAbc.currentStyle); 非常遗憾的是,这个好使的东西也不能被各大浏览器完美地支持.准确地说,在我测试的浏览器中,IE8和Opera 11弹出了"object CSSStyleDeclarati

(转)tComputerStyle与currentStyle的区别

大家都知道,用document.getElementById(‘element').style.xxx可以获取元素的样式信息,可是它获取的只是DOM元素style属性里的样式规则,对于通过class属性引用的外部样式表,就拿不到我们要的信息了. DOM标准里有个全局方法getComputedStyle,可以获取到当前对象样式规则信息,如:getComputedStyle(obj,null).paddingLeft,就能获取到对象的左内边距.但是事情还没完,万恶的IE不支持此方法,它有自己的一个实

JS之获取样式

基本代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style> div{ color:yellow; } </style> </head> <body> <div style="width:100

js中style,currentStyle和getComputedStyle的区别以及获取css操作方法

一.style,currentStyle和getComputedStyle的区别 <script>  function getStyle(obj, attr)   {       if(obj.currentStyle)       {          return obj.currentStyle[attr];  //只适用于IE     }       else       {          return getComputedStyle(obj,false)[attr];   //

style currentStyle getComputedStyle的区别和用法

先介绍下层叠样式表的三种形式: 1.内联样式,在html标签中style属性设置. <p style="color:#f90">内联样式</p> 2.嵌入样式,通过在head标签设置style标签添加样式. <style type="text/css"> .stuff{color:#f90;} </style> 3.外部样式,通过link标签引入外部样式 <link type="text/css&quo