温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Javascript如何实现一个获取元素样式的函数getStyle

发布时间:2021-07-13 15:30:52 来源:亿速云 阅读:264 作者:chen 栏目:编程语言

本篇内容主要讲解“Javascript如何实现一个获取元素样式的函数getStyle”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Javascript如何实现一个获取元素样式的函数getStyle”吧!

元素的CSS样式,除了包括内联的(即通过style属性加上的)样式定义外,还有页面嵌入的css和外部引入的css两种方式。但在JS中通过el.style.xxx只能获取的内联的样式属性,这就存在比较大的局限性。好在浏览器都提供了另外的方式来获取以其它方式定义的样式属性,在IE中有currentStyle、FF等w3c标准的浏览器中有getComputedStyle。

参考了几个JS-Lib的代码,决定实现一个简化版的getStyle函数。该函数目标为:满足大多数需要、跨浏览器、代码简洁、性能优良。本着这几点要求,本人花了一个小时的时间才搞定,主要利用了“JS逻辑运算符特性、代码"编译",函数的即时执行”几个小技巧,写到这里,以备以后使用,如果能对哪位朋友有帮助,那当然更好。

程序代码

var getStyle=function(){var f=document.defaultView;return new Function('el','style',["style.indexOf('-')>-1 && (style=style.replace(/-(\\w)/g,function(m,a){return a.toUpperCase()}));","style=='float' && (style='",f ? 'cssFloat' : 'styleFloat',"');return el.style[style] || ",f ? 'window.getComputedStyle(el, null)[style]' : 'el.currentStyle[style]',' || null;'].join(''));}();
//使用示例:var el=document.getElementById('test');getStyle(el,'line-height');getStyle(el,'color');getStyle(el,'float');

到此,相信大家对“Javascript如何实现一个获取元素样式的函数getStyle”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI