我试过Ext.DomHelper.createDom
,但它创建的对象未应用document styles
。 Ext.util.CSS.getRules
可以获得所有规则,但我必须手动确定将覆盖哪些样式以及将应用哪些样式。如何获得将应用于ExtJs中的给定班级列表的样式
有没有一种简单的方法来获得给定班级列表的样式?
我试过Ext.DomHelper.createDom
,但它创建的对象未应用document styles
。 Ext.util.CSS.getRules
可以获得所有规则,但我必须手动确定将覆盖哪些样式以及将应用哪些样式。如何获得将应用于ExtJs中的给定班级列表的样式
有没有一种简单的方法来获得给定班级列表的样式?
的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
,因为它为你处理浏览器差异。
工作,谢谢。我只关心它如何在较低的IE上工作,特别是IE6。 – Marcin
IE6支持currentStyle –
我看到类似的问题在jquery中解决了,只需用类列表创建一个小对象(不插入到文档中),然后就可以得到样式 - 我想知道ExtJs是否也可以这样做。这对我很有帮助,并避免对遗留代码进行更大的重构。 – Marcin