JavaScript - 如何在Opera中获取元素的currentStyle

时间:2014-06-06 16:52:29

标签: javascript styles opera

我正在尝试获取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的真正价值。

任何有用的帮助!

1 个答案:

答案 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"])

}