ExtJs - 通过div类获取元素?

时间:2012-11-14 12:49:48

标签: extjs extjs4.1

如何获取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 个答案:

答案 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());​

demo

答案 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。

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