2008年2月17日日曜日

要素やコンポーネントの情報の取得方法

ExtJSでは、ドキュメントに配置されされている要素を取得するためにいくつかの手段を用意してくれています。

(1)IDやnodeを指定してExt.Elementを取得する

Ext.get( Mixed el ) : Element

Element要素をひとつだけ取得するときに利用します。
このほか、Documentやbodyを直接取得できるメソッドが用意されています。
 HTMLのBody要素を取得する=> Ext.getBody() : Ext.Element
 HTMLのドキュメント要素を取得する=> Ext.getDoc() : Ext.Element

(2)CSSセレクタを指定して、Ext.CompositeElementで取得する

Ext.select( String/Array selector, [Boolean unique], [HTMLElement/String root] ) : CompositeElementLite/CompositeElement

※Ext.CompositeElementは簡単に言うと、複数のExt.Elementをまとめて扱うことのできるクラス。

CSSセレクタに一致するすべて要素を取得できるので、複数の要素にまとめてイベントやStyleを設定するときに利用します。


(3)XPATHを指定して、Ext.Elementの配列を取得する

Ext.query( String path, [Node root] ) : Array

Ext.select()だとCompositeElementが取得でき、要素に対してまとめて設定しやすいので、あまり利用シーンはないかも。
CSSセレクタよりもXPathの方が複雑な指定が可能なので、複雑な指定をする場合に利用する。

(4)IDやnodeを指定してDomを取得する

Ext.getDom( Mixed el ) : HTMLElement

プレーンなDOMを扱い場合に利用する。

(5)IDを指定してExt.Componetを取得する

Ext.getCmp( String id ) : Ext.Component

Ext.PanelやExt.formオブジェクトなど、Ext.Componetを継承したオブジェクトを取得するときに利用します。
オブジェクトの生成時にidオプションを指定すれば任意のIDを割り当てることができます。
また、idオプションを指定しない場合はExtJSが自動で重複しないIDを割り当ててくれます。
自動的に割り当てられたIDはExt.ComponetのgetId()メソッドで取得することができます。

0 件のコメント: