2010-01-27 13 views
7

Sto cercando un metodo equivalente per selezionare un elemento di classe come questo $ (". ClassName") in Jquery per ExtJS.

Comprendo che Ext.get() accetta solo un ID. Il tuo aiuto sarà molto apprezzato.

Cheers, Mickey

Modificato:

Mi spiego ulteriormente. Voglio essere in grado di fare qualcosa come Ext.get dopo aver fatto una "selezione". Ad esempio:

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

Comprendo che Ext.Element ha il metodo getWidth(). Speravo di poter fare qualcosa come ...

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

Forse non lo capisco bene.

Grazie a mil.

+0

È possibile utilizzare Firebug? prova a fare console.dir (Ext.select (". className"). getWidth()); e dimmi cosa vedi nella console. – mck89

+0

Vedo un elenco di funzioni e getWidth è all'interno dell'elenco. –

+0

Quando ho fatto un avviso, restituisce [Oggetto oggetto] –

risposta

11

Penso che si sta cercando:

Ext.query(".className"); 

Questo metodo consente di ottenere elementi per la data stringa di query come jQuery fa.

EDIT

var els=Ext.query(".className"), ret=[]; 
for(var i=0; i<els.length; i++) 
{ 
    ret.push(els[i].getWidth()); 
} 
+0

Ho modificato la mia domanda. Spero che tu mi possa aiutare. Voglio poter accedere ai metodi Ext.Element (ad es. GetWidth()). Tuttavia, il metodo suggerito di Ext.query restituisce un array. –

+0

Capisco.Immagino che ExtJS non possa essere elegante quanto Jquery con $ (". ClassName"). Css ("width") per restituire la larghezza. Molte grazie. –

+0

Ext.query è più utile quando si utilizza DomQuery al di fuori di Ext (quindi restituisce un array semplice). Se vuoi operare su oggetti Element, usa Ext.select. –

13

Sì, Ext.select() è ciò che si desidera. Restituisce un CompositeElement (stessa API di un singolo elemento, ma contiene una raccolta interna di tutti gli elementi selezionati). Si potrebbe fare questo per vedere la larghezza di ogni elemento:

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

Il modo in cui hai chiamato è più utile per operare sugli elementi in qualche modo, ad esempio:

Ext.select('.className').setWidth(100); 
Problemi correlati