0

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

有没有一种简单的方法来获取给定类列表的样式?

4

1 回答 1

0

Ext JS 没有提供获取元素所有样式的方法,但是您可以在将元素附加到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);

});

当然如果你只是需要一个特定的样式,我推荐使用的getStyle()方法,Ext.Element因为它可以为你处理浏览器的差异。

于 2012-09-05T14:52:30.447 回答