8

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

4 回答 4

20

采用

var dom = Ext.dom.Query.select('.abc');
var el = Ext.get(dom[0]); 

这将返回一个Ext.Element. 然后,您可以像这样在 el 上使用 ext 方法

el.on('click', function(){}, scope);

或者

el.getWidth()
于 2012-11-14T13:08:22.163 回答
7

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

var d = Ext.get( "main" );
alert(d.down('.abc').getWidth());​

演示

于 2012-11-14T13:13:31.323 回答
6

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

Ext.ComponentQuery.query('panel[cls=myCls]');

你会得到这个组件的数组

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

于 2013-03-01T15:16:19.467 回答
4
Ext.select('abc');

此方法也适用于 EXT 4。

在您的示例中,只需在调用类名字符串时删除点即可。

于 2014-04-08T20:28:20.913 回答