首页 > 学院 > 开发设计 > 正文

js获取css属性失败

2019-11-08 03:28:03
字体:
来源:转载
供稿:网友

出现问题

今天写一个前端页面,发现obj.style.height竟然获取出来的东西为null,或者干脆什么都不显示,反复思考,回想,以前我就是这样获取的啊,有什么不对???很苦恼啊,在网上试探性的看下有没有答案,结果,真的是我错了,obj.style.height获取CSS属性的前提是css属性必须是行内样式,不能够是外部引入的,也不能够是写在当前head中的style标签样式里。那该怎么解决呢??

解决问题

DOM标准里有个全局方法getComputedStyle,可以获取到当前对象样式规则信息,如:getComputedStyle(obj,null).paddingLeft,就能获取到对象的左内边距。但是事情还没完,万恶的IE不支持此方法,它有自己的一个实现方式,那就是currentStyle,不同于全局方法getComputedStyle,它是作为DOM元素属性存在的,如:obj.currentStyle.paddingLeft,在IE中就获取到对象的左内边距了,兼容性的写法如下:

return getComputedStyle ? getComputedStyle(obj,null).paddingLeft : obj.currentStyle.paddingLeft;

顺便提一下,getComputedStyle是在window下面的一个全局方法。

好了,解决!!

参考资料:

原文资料


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表