currentStyle
用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);
转载于:https://www.cnblogs.com/wang715100018066/p/6000536.html
currentStyle相关推荐
- getComputedStyle currentStyle 获取当前元素所有最终使用的CSS属性值
object.getComputedStyle 获取当前元素所有最终使用的CSS属性值.返回的是一个CSS样式声明对象,只读,不能设置. 此方法不兼容IE8及以下,需用currentStyle方法. ...
- 用JS查看修改CSS样式(cssText,attribute('style'),currentStyle,getComputedStyle)
CSS样式定义方法 大家都知道,在为HTML设置样式的时候,通常有三种方法:内联样式,内部样式表,外部样式表. 1.内联样式: 内联样式表就是在HTML元素中的行内直接添加style属性. 1 < ...
- Js中的style,currentStyle,getComputedStyle()区别
Js中的style,currentStyle,getComputedStyle()区别 样式表有三种方式: 1.内嵌样式(inline Style)-是写在Tag里面的,内嵌样式只对所有的Tag有效 ...
- 织梦channel标签currentstyle样式无效不起作用
我们在用织梦系统制作网站时,经常会用到channel标签来调子栏目.但是,很多朋友会遇到这种情况在使用channel标签来调子栏目的时候,指定 "type=son typeid=x" ...
- CSSOM之getComputedStyle,currentStyle,getPropertyValue,getAttribute
js关于CSSOM编程的样式相关几个常用的方法 webkit:getComputedStyle,getPropertyValue IE:currentStyle,getAttribute 前言 jqu ...
- getComputedStyle与currentStyle获取样式(style/class)
大家都知道,用document.getElementById('element').style.xxx可以获取元素的样式信息,可是它获取的只是DOM元素style属性里的样式规则,对于通过class属 ...
- (转)ComputerStyle与currentStyle的区别
大家都知道,用document.getElementById('element').style.xxx可以获取元素的样式信息,可是它获取的只是DOM元素style属性里的样式规则,对于通过class属 ...
- style, currentStyle, getComputedStyle的区别
如果不在某元素上添加类似的样式:style="font-size:20px;",在不同浏览器上获取样式的属性值的方式: 1 2 3 4 5 6 7 8 9 10 11 12 13 ...
- dede {dede:channel currentstyle 中使用~seotitle~
在 include/taglib/channel.lib.php line 140 $linkOkstr = str_replace("~typename~",$row['type ...
- currentStyle与getComputedStyle的用法
currentStyle与getComputedStyle都是用来获取行内元素style里的属性的.区别在于currentStyle只能用在IE浏览器中.而getComputedStyle可以用在其它 ...
最新文章
- Mmseg中文分词算法解析
- 声音的播放——MCI的使用
- Android4.1 新功能 新特性(转)
- 笔记本多硬盘win7下U盘安装Cnetos7引导问题!
- excel两个表格数据对比_Office 2010如何在桌面显示两个独立Excel表格
- 【LeetCode】3月24日打卡-Day9
- 在Ubuntu Linux下安装Tomcat
- 诺基亚正式收购阿朗:物联网时代再出发
- 01_ExtJS_HelloWorld
- 软件公司多注重开发不注重管理
- 详析Exchange 2007/2010 SSL证书如何安装
- XAF How to: Implement Domain Components(如何实现领域构件)
- 1.9 Important Themes(一些重要的概念)
- VssPlus1.1-微软VSS增强工具
- CGI和BOA使用期间遇到的问题汇总(转)
- dosbox运行C语言,DOSBox使用教程 在windows下模拟DOS
- erdas几何校正_erdas图像几何校正操作步骤指南
- 港科夜闻|香港科技大学举行第六届冠名教授席就职典礼
- 《仰天大笑出门去,这个杀手有脾气-雾满拦江》
- 如何生成token,是使用token