クラス名で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();
_
使用する
var dom = Ext.dom.Query.select('.abc');
var el = Ext.get(dom[0]);
これにより、Ext.Element
が返されます。その後、elでextメソッドを使用できます。
el.on('click', function(){}, scope);
または
el.getWidth()
私はあなたが意味すると信じています Ext.dom.Element (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');
この方法は、EXT4でも機能します。
あなたの例では、クラス名の文字列を呼び出すときにドットを削除するだけです。