我正在尝试获取opera中强元素的fontWeight属性。而且我被困住了。这是我的功能:
getCurrentStyle: function (el, styleProp) {
if (!el || !styleProp) return ''
styleProp = pinecf.unifyStyleProp(styleProp)
var y = '',
st
try {
st = pinecf.getElementStyle(el)
} catch (e) {}
alert($(el).css(styleProp.replace(/([A-Z])/g, '-$1').toLowerCase()))
if (pinecf.CAE(st, styleProp)) y = st[styleProp]
else try {
if (el.currentStyle) y = el.currentStyle[styleProp];
else if (pine.window.getComputedStyle) y = pine.document.defaultView.getComputedStyle(el, null)[styleProp]
} catch (e) {
try {
y = $(el).css(styleProp.replace(/([A-Z])/g, '-$1').toLowerCase())
} catch (e) {}
}
if (styleProp == 'fontWeight' && parseInt(y) > 0) {
if (y > 400) y = 'bold'
else y = 'normal'
} else if (styleProp == 'fontSize' && y && y.search(/pt/i) != -1) y = parseInt(y) * 1.33
if (!y) y = ''
return typeof y == 'string' ? pinecf.trim(y).toLowerCase() : y
}
并且无论我尝试什么方法,它总是返回空值。
请告诉我如何在Opera浏览器中获得currentStyle的真正价值。
任何有用的帮助!
答案 0 :(得分:0)
窗口对象的getComputedStyle()
部分不是文档吗?
我使用此
开始工作for(i = 0, el = document.getElementsByTagName("strong") ; i < el.length; i++)
{
cssProp = window.getComputedStyle(el[i], "cssText");
//cssProp = window.getComputedStyle(el[i], null); to get all the computed css styles
console.log(cssProp["fontWeight"])
}