ExtJs-получить элемент по классу div?

как сделать объект компонента ExtJs Div по имени класса?

скажи мой div:

<div class="abc"></div>

как получить объект ExtJs этого Div для выполнения, например getWidth()

Примечание: нет id дали.

что я пробовал:

Ext.select(".abc")
Ext.query(".abc")

Edit:

ошибка: Object has no method 'getWidth'

<div id="main">
<div class="abc"></div>
</div>
  var d = Ext.get( "main" );
  d.query('.abc').getWidth();

4 ответов


использовать

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

это вернет Ext.Element. Затем вы можете использовать методы ext на el, как so

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

или

el.getWidth()

Я полагаю, вы имеете в виду ВН.дом.Элемент (не объект компонента ExtJs). Если да, попробуйте этот код

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

демо


для Ext4 и выше вы можете использовать следующее:

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

и вы получите и массив этих компонентов

источник:http://docs.sencha.com/ext-js/4-1/#!/api / Ext.ComponentQuery


Ext.select('abc');

этот метод также работает в EXT 4.

в вашем примере просто удалите точку при вызове строки имени класса.