您可以尝试使用非标准IE
element.currentStyle属性,否则,可以查找DOM Level2标准
getComputedStyle方法(如果可用):
function getStyle(el,styleProp) { var camelize = function (str) { return str.replace(/-(w)/g, function(str, letter){ return letter.toUpperCase(); }); }; if (el.currentStyle) { return el.currentStyle[camelize(styleProp)]; } else if (document.defaultView && document.defaultView.getComputedStyle) { return document.defaultView.getComputedStyle(el,null) .getPropertyValue(styleProp); } else { return el.style[camelize(styleProp)]; }}
用法:
var element = document.getElementById('elementId');getStyle(element, 'font-size');
更多信息:
- 获取样式(QuirksMode)
编辑: 感谢 @Crescent Fresh , @kangax 和 @Pekka 的评论。
变化:
- 添加了
camelize
功能,因为包含连字符font-size
(如fontSize
)的属性必须作为currentStyle
IE对象上的camelCase(例如:)来访问。 document.defaultView
在访问之前检查的存在getComputedStyle
。- 添加了最后一种情况,当
el.currentStyle
和getComputedStyle
不可用时,可通过获得内联CSS属性element.style
。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)