ExtJs - 通过div类获取元素?

Shl*_*omo 8 extjs extjs4.1

如何通过类名获取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)


Mol*_*Man 7

我相信你的意思是Ext.dom.Element(不是ExtJs组件对象).如果是,请尝试此代码

var d = Ext.get( "main" );
alert(d.down('.abc').getWidth());?
Run Code Online (Sandbox Code Playgroud)

演示


ssa*_*l68 6

对于Ext4及以上版本,您可以使用以下内容:

Ext.ComponentQuery.query('panel[cls=myCls]');
Run Code Online (Sandbox Code Playgroud)

你会得到这些组件的数组

来源:http://docs.sencha.com/ext-js/4-1/#!/api/Ext.ComponentQuery