2012-09-05 30 views
0

我试过Ext.DomHelper.createDom,但它创建的对象未应用document stylesExt.util.CSS.getRules可以获得所有规则,但我必须手动确定将覆盖哪些样式以及将应用哪些样式。如何获得将应用于ExtJs中的给定班级列表的样式

有没有一种简单的方法来获得给定班级列表的样式?

+0

我看到类似的问题在jquery中解决了,只需用类列表创建一个小对象(不插入到文档中),然后就可以得到样式 - 我想知道ExtJs是否也可以这样做。这对我很有帮助,并避免对遗留代码进行更大的重构。 – Marcin

回答

0

的Ext JS不提供一种方式来获得一个元素的所有样式,但你可以有点老式的JavaScript做的元素被附加到dom后:

Ext.onReady(function() { 

    var el = Ext.DomHelper.append(document.body, { 
     tag: 'div', 
     cls: 'foo' 
    }), 
    styles; 

    if (window.getComputedStyle) { 
     // use getComputedStyle if supported 
     styles = window.getComputedStyle(el); 
    } else { 
     // fall back to currentStyle for IE8 and below 
     styles = el.currentStyle; 
    } 

    // get a style 
    alert(styles.fontSize); 

}); 

当然,如果你只是需要一个特定的风格,我会建议使用方法Ext.Element,因为它为你处理浏览器差异。

+0

工作,谢谢。我只关心它如何在较低的IE上工作,特别是IE6。 – Marcin

+0

IE6支持currentStyle –

相关问题