用js的style属性可以获得html标签的样式,但是不能获取非行间样式。

解决方法:

在IE下可以用currentStyle;

在FF下用getComputedStyle;

然而,为了让其兼容,解决方法,封装成getStyle事件:

<!DOCTYPE html><html lang="en"><head>   <meta charset="UTF-8">   <title>Title</title>   <style>      #div2{width:500px;height:100px;background-color:green;}   </style></head><body><div id="div2"></div></body></html><script>最初:
if(oDiv2.currentStyle){ //IE console.log(oDiv2.currentStyle.height);}else{ //    FF console.log(getComputedStyle(oDiv2,false).width);}
   //封装一个兼容性的获取元素样式的函数   //分析:哪个元素,哪个样式 function getStyle(obj,attr){      if(obj.currentStyle){      //IEreturn obj.currentStyle[attr];      }else{      //FFreturn getComputedStyle(obj,false)[attr];      }   }//用法   window.onload = function(){      var oDiv=document.getElementById("div2");      console.log(getStyle(oDiv,"width"));   }

//进一步封装 

//obj:获取谁的样式,attr:样式名称,value样式的值
function css(obj,attr,value){   if(arguments.length==2){//获取      return getStyle(obj,attr)   }else if(arguments.length == 3){//设置      obj.style[attr] =value;   }}
//用法:
//      oBtn.onclick = function () {//        css(oDiv,"background","black");//        css(oDiv,"border","3px solid yellow");//        console.log(css(oDiv,"width"));//     }
</script>

补充:JavaScript中,函数本身的length属性和arguments.length到底有什么区别?1,函数本身有length属性,表示参数的个数。arguments.length也表示参数的个数。

2,函数对象的length属性是形式参数的个数;arguments伪变量的length属性是某次调用的实际参数的个数。  例如:    function func(a,b,c){      console.log(arguments.length);//输出:3    }      console.log(func.length)//输出: 1    func(1);以上是后来发现错的,2017-03-16更正了以后:
      function func(a,b,c){console.log("arguments:"+arguments.length); //输出 arguments::1
    }console.log("length:"+func.length); //输出 length: 3func(1);

3,函数本身也是对象,对象就有属性,函数有length属性,比如: function fn(x,y,z) {}中 fn.length=3,说明了函数的形参个数; 而在函数体内,arguments.length表示传入函数的实参个数,比如:function fun(1,2) { console.log(arguments.length)} 中实参的个数为arguments.length=2

4,fn.length: 形参个数
arguments.length: 实参个数

//拓展:

//arguments  数组(所有的参数)  可变参(不定参)function sum2() {   var result = 0;   var i = 0;   for(i=0;i<arguments.length;i++){      result += arguments[i];   }   console.log(result);//输出13

}sum2(4,4,5);
 总结,除了可以用arguments去判断参数个数,还可以做不定参的运算。
    

转载于:https://www.cnblogs.com/wang715100018066/p/6000536.html

currentStyle相关推荐

  1. getComputedStyle currentStyle 获取当前元素所有最终使用的CSS属性值

    object.getComputedStyle  获取当前元素所有最终使用的CSS属性值.返回的是一个CSS样式声明对象,只读,不能设置. 此方法不兼容IE8及以下,需用currentStyle方法. ...

  2. 用JS查看修改CSS样式(cssText,attribute('style'),currentStyle,getComputedStyle)

    CSS样式定义方法 大家都知道,在为HTML设置样式的时候,通常有三种方法:内联样式,内部样式表,外部样式表. 1.内联样式: 内联样式表就是在HTML元素中的行内直接添加style属性. 1 < ...

  3. Js中的style,currentStyle,getComputedStyle()区别

    Js中的style,currentStyle,getComputedStyle()区别  样式表有三种方式: 1.内嵌样式(inline Style)-是写在Tag里面的,内嵌样式只对所有的Tag有效 ...

  4. 织梦channel标签currentstyle样式无效不起作用

    我们在用织梦系统制作网站时,经常会用到channel标签来调子栏目.但是,很多朋友会遇到这种情况在使用channel标签来调子栏目的时候,指定 "type=son typeid=x" ...

  5. CSSOM之getComputedStyle,currentStyle,getPropertyValue,getAttribute

    js关于CSSOM编程的样式相关几个常用的方法 webkit:getComputedStyle,getPropertyValue IE:currentStyle,getAttribute 前言 jqu ...

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

    大家都知道,用document.getElementById('element').style.xxx可以获取元素的样式信息,可是它获取的只是DOM元素style属性里的样式规则,对于通过class属 ...

  7. (转)ComputerStyle与currentStyle的区别

    大家都知道,用document.getElementById('element').style.xxx可以获取元素的样式信息,可是它获取的只是DOM元素style属性里的样式规则,对于通过class属 ...

  8. style, currentStyle, getComputedStyle的区别

    如果不在某元素上添加类似的样式:style="font-size:20px;",在不同浏览器上获取样式的属性值的方式: 1 2 3 4 5 6 7 8 9 10 11 12 13 ...

  9. dede {dede:channel currentstyle 中使用~seotitle~

    在 include/taglib/channel.lib.php line 140 $linkOkstr = str_replace("~typename~",$row['type ...

  10. currentStyle与getComputedStyle的用法

    currentStyle与getComputedStyle都是用来获取行内元素style里的属性的.区别在于currentStyle只能用在IE浏览器中.而getComputedStyle可以用在其它 ...

最新文章

  1. Mmseg中文分词算法解析
  2. 声音的播放——MCI的使用
  3. Android4.1 新功能 新特性(转)
  4. 笔记本多硬盘win7下U盘安装Cnetos7引导问题!
  5. excel两个表格数据对比_Office 2010如何在桌面显示两个独立Excel表格
  6. 【LeetCode】3月24日打卡-Day9
  7. 在Ubuntu Linux下安装Tomcat
  8. 诺基亚正式收购阿朗:物联网时代再出发
  9. 01_ExtJS_HelloWorld
  10. 软件公司多注重开发不注重管理
  11. 详析Exchange 2007/2010 SSL证书如何安装
  12. XAF How to: Implement Domain Components(如何实现领域构件)
  13. 1.9 Important Themes(一些重要的概念)
  14. VssPlus1.1-微软VSS增强工具
  15. CGI和BOA使用期间遇到的问题汇总(转)
  16. dosbox运行C语言,DOSBox使用教程 在windows下模拟DOS
  17. erdas几何校正_erdas图像几何校正操作步骤指南
  18. 港科夜闻|香港科技大学举行第六届冠名教授席就职典礼
  19. 《仰天大笑出门去,这个杀手有脾气-雾满拦江》
  20. 如何生成token,是使用token

热门文章

  1. mfgtools工具BootStrap阶段使用文件的介绍
  2. 女孩玩鼠标垫玩出百万资产
  3. Oracle SQL防注入OracleParameter C#代码
  4. 浙江理工大学数字电子技术课程设计
  5. reduce方法详解
  6. 新版本Android studio加载maven
  7. 数据分析-matplotlib-绘制股价图
  8. linux参数tw_re,linux 系统调优参数
  9. 职场新人不可不知的职场礼仪
  10. 奥运开幕式时间段揭晓 20:00正式开始23:30结束