准确获取指定元素CSS属性值
来源:互联网 责任编辑:栏目编辑 发表时间:2013-07-02 00:20 点击:次
如何实现javascript精确获取元素css属性值?当处理 DOM 元素的 CSS 属性时,我们经常会遇到一个问题:明明页面上已经定义了 CSS 属性值,但在获取的时候却为空,这是因为任何样式表文件或内联 CSS 预设的样式信息并不能可靠地反映到 style 属性上,本文向你介绍准确获取指定元素 CSS 属性值的方法。
以下为引用的内容:
Javascript:
<script type="text/javascript"> function getStyle( elem, name ) { //如果该属性存在于style[]中,则它最近被设置过(且就是当前的) if (elem.style[name]) { return elem.style[name]; } //否则,尝试IE的方式 else if (elem.currentStyle) { return elem.currentStyle[name]; } //或者W3C的方法,如果存在的话 else if (document.defaultView && document.defaultView.getComputedStyle) { //它使用传统的"text-Align"风格的规则书写方式,而不是"textAlign" name = name.replace(/([A-Z])/g,"-$1"); name = name.toLowerCase(); //获取style对象并取得属性的值(如果存在的话) var s = document.defaultView.getComputedStyle(elem,""); return s && s.getPropertyValue(name); //否则,就是在使用其它的浏览器 } else { return null; } } </script>
|