Как использовать Jquery $ (". Что-то"), чтобы выбрать класс в ExtJS? - PullRequest
7 голосов
/ 27 января 2010

Я ищу эквивалентный метод для выбора элемента класса, такого как $ (". ClassName") в Jquery для ExtJS.

Я понимаю, что Ext.get () принимает только идентификатор. Ваша помощь будет очень ценится.

Ура, Mickey

Отредактировано:

Позвольте мне объяснить подробнее. Я хочу быть в состоянии сделать что-то вроде Ext.get после того, как я сделал "выбор". Например:

$(".className").css("width");

Я понимаю, что Ext.Element имеет метод getWidth (). Я надеялся, что смогу сделать что-то вроде ...

Ext.select(".className").getWidth(); // it just return me [Object object]

Может быть, я не очень хорошо понимаю.

Спасибо, мил.

Ответы [ 3 ]

13 голосов
/ 27 января 2010

Да, Ext.select () - это то, что вы хотите. Он возвращает CompositeElement (тот же API, что и отдельный элемент, но содержит внутреннюю коллекцию всех выбранных элементов). Вы можете сделать это, чтобы увидеть ширину каждого элемента:

Ext.select('.className').each(function(el){
    console.log(el.getWidth());
}); 

То, как вы его назвали, более полезно для работы с над элементами, например ::

Ext.select('.className').setWidth(100);
11 голосов
/ 27 января 2010

Я думаю, что вы ищете:

Ext.query(".className");

Этот метод позволяет получать элементы по заданной строке запроса, как это делает jQuery.

EDIT

var els=Ext.query(".className"), ret=[];
for(var i=0; i<els.length; i++)
{
    ret.push(els[i].getWidth());
}
3 голосов
/ 01 марта 2013

Если вы хотите компонент, вы можете использовать это: Ext4 и выше.

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...