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.
в вашем примере просто удалите точку при вызове строки имени класса.