如何获取Div类的 ExtJs组件对象?
说我的div是:
<div class="abc"></div>
如何让此Div的ExtJs对象执行,例如getWidth()
注意:没有给出id
。
我尝试了什么:
Ext.select(".abc")
Ext.query(".abc")
修改
错误:
Object has no method 'getWidth'
<div id="main">
<div class="abc"></div>
</div>
var d = Ext.get( "main" );
d.query('.abc').getWidth();
答案 0 :(得分:18)
使用
var dom = Ext.dom.Query.select('.abc');
var el = Ext.get(dom[0]);
这将返回Ext.Element
。然后你可以在el上使用ext方法
el.on('click', function(){}, scope);
或
el.getWidth()
答案 1 :(得分:7)
我相信你的意思是Ext.dom.Element(不是ExtJs组件对象)。如果是,请尝试此代码
var d = Ext.get( "main" );
alert(d.down('.abc').getWidth());
答案 2 :(得分:6)
对于Ext4及以上版本,您可以使用以下内容:
Ext.ComponentQuery.query('panel[cls=myCls]');
你会得到这些组件的数组
来源:http://docs.sencha.com/ext-js/4-1/#!/api/Ext.ComponentQuery
答案 3 :(得分:4)
Ext.select('abc');
此方法也适用于EXT 4。
在您的示例中,只需在调用类名字符串时删除点。