如何通过类名获取Div 的ExtJs组件对象?
说我的div是:
<div class="abc"></div>
Run Code Online (Sandbox Code Playgroud)
如何让这个Div的ExtJs对象执行,例如 getWidth()
注意:没有id给出.
我尝试了什么:
Ext.select(".abc")
Ext.query(".abc")
Run Code Online (Sandbox Code Playgroud)
编辑:
错误:
Object has no method 'getWidth'
<div id="main">
<div class="abc"></div>
</div>
Run Code Online (Sandbox Code Playgroud)
var d = Ext.get( "main" );
d.query('.abc').getWidth();
Run Code Online (Sandbox Code Playgroud)
Var*_*har 18
使用
var dom = Ext.dom.Query.select('.abc');
var el = Ext.get(dom[0]);
Run Code Online (Sandbox Code Playgroud)
这将返回一个Ext.Element.然后你可以在el上使用ext方法
el.on('click', function(){}, scope);
Run Code Online (Sandbox Code Playgroud)
要么
el.getWidth()
Run Code Online (Sandbox Code Playgroud)
我相信你的意思是Ext.dom.Element(不是ExtJs组件对象).如果是,请尝试此代码
var d = Ext.get( "main" );
alert(d.down('.abc').getWidth());?
Run Code Online (Sandbox Code Playgroud)
对于Ext4及以上版本,您可以使用以下内容:
Ext.ComponentQuery.query('panel[cls=myCls]');
Run Code Online (Sandbox Code Playgroud)
你会得到这些组件的数组
来源:http://docs.sencha.com/ext-js/4-1/#!/api/Ext.ComponentQuery