如何获取将在ExtJs中为给定类列表应用的样式

时间:2012-09-05 14:13:36

标签: javascript css dom extjs

我已经尝试了Ext.DomHelper.createDom,但它创建了一个对象而没有将document styles应用于它。 Ext.util.CSS.getRules可以获得所有规则,但是我必须手动确定哪些样式将被覆盖以及哪些样式将被应用。

有没有一种简单的方法可以获得给出类列表的样式?

1 个答案:

答案 0 :(得分:0)

Ext JS没有提供获取元素的所有样式的方法,但是在元素被追加到dom后,您可以使用一些简单的旧javascript来完成:

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);

});

当然,如果您只需要获得特定样式,我建议您使用getStyle() Ext.Element方法,因为它会为您处理浏览器差异。