用js的style属性可以获得html标签的样式,但是不能获取非行间样式。
解决方法:
在IE下可以用currentstyle;
在FF下用getComputedStyle;
然而,为了让其兼容,解决方法,封装成getStyle事件:
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title> <style> #p2{width:500px;height:100px;background-color:green;} </style></head><body><p ></p></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){ //IE return obj.currentStyle[attr]; }else{ //FF return getComputedStyle(obj,false)[attr]; } }//用法 window.onload = function(){ var oDiv=document.getelementbyid("p2"); 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: 3 func(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去判断参数个数,还可以做不定参的运算。
154507.html
本文由 贵州做网站公司 整理发布,部分图文来源于网络,如有侵权,请联系我们删除,谢谢!
SEO小店网站优化 能带来大量精准流量的网站才是好网站,小店网络公司SEO优化推广可以为企业网站带来大量的有效流量。 ...
汉寿网站排名快速提升 汉寿网络公司快速提升企业网站排名,通过网站优化推广,让汉寿企业网站在搜索引擎的排名长期稳定。 ...
SEO张家界网站优化 能带来大量精准流量的网站才是好网站,张家界网络公司SEO优化推广可以为企业网站带来大量的有效流量。 ...
RMHD有哪些优点?Realmedia HD,RealNetworks的继任者?RMVB视频编解码器,提供卓越的图像质量,在移动设备上提供高清晰度(高达8K)体验-通过互联网为观众提供所选设备上的高质量视频。与H.264相比,realmedia HD技术的压缩效率提高了30%-45%,从而释放了设备的存储空间,提供了高清图像,提高了传输效率,降低了数据成本。realmedia HD产品套件在流媒体...
网友解答: 台湾的视频网站主要就是Youtube,大多数的官方媒体都入住到了Youtube,也包括央视1、2、3...12套的节目!再有就是Facebook上也能贴影片、看影片。但要特别强调的是,大陆的爱奇艺在台湾最火了,而且早都吸收了大量台湾用户,是台湾人追大陆剧的首选平台!爱奇艺针对台湾用户有单独的“台湾版”,和国内看到的内容是有差异的。还有就是台湾人使用爱奇艺都需要加入会员,也就是说大...
比什凯克是哪个国家哪个国家的首都比什凯克?比什凯克是个什么样的城市?吉尔吉斯斯坦的首都比什凯克。很高兴回答这个问题。吉尔吉斯斯坦有两个首都。第一个首都是比什凯克,原名伏龙芝。你没听错。这是俄罗斯著名的伏龙芝军事学院的伏龙芝。前苏联解体后,吉尔吉斯斯坦共和国成立,将伏龙芝改名为比什凯克。它是吉尔吉斯斯坦北部的经济、政治和文化中心。第二个首都是吉尔吉斯斯坦南部的奥什,是南部的经济和文化中心。什么样的城...