我的漫漫程序之旅

          專注于JavaWeb開發(fā)
          隨筆 - 39, 文章 - 310, 評論 - 411, 引用 - 0
          數(shù)據(jù)加載中……

          Ext中常用的獲取元素(get)的方法及區(qū)別

          Ext中有幾個以get開頭的方法,這些方法可以用來得到文檔中DOM、得到當前文檔中的組件、得到Ext元素等,在使用中要注意區(qū)別使用。
          1、get方法
          get方法用來得到一個Ext元素,也就是類型為Ext.Element的對象,Ext.Element類是Ext對DOM的封裝,代表DOM的元素,可以為每一個DOM創(chuàng)建一個對應的Element對象,可以通過Element對象上的方法來實現(xiàn)對DOM指定的操作,比如用hide方法可以隱藏元素、initDD方法可以讓指定的DOM具有拖放特性等。get方法其實是Ext.Element.get的簡寫形式。
          get方法中只有一個參數(shù),這個參數(shù)是混合參數(shù),可以是DOM節(jié)點的id、也可以是一個Element、或者是一個DOM節(jié)點對象等。看下面的示例代碼:


           

          Ext.onReady(function(){  
            
            var e=new Ext.Element("hello");  
            
            alert(Ext.get("hello"));  
            
            alert(Ext.get(document.getElementById("hello")));  
            
            alert(Ext.get(e));  
            
          });  
            
            //Html頁面中包含一個id為hello的div,代碼如下:  
            
            
          <div id="hello">aaa</div> 

          Ext.get("hello")、Ext.get(document.getElementById("hello"))、Ext.get(e)等三個方法都可以得到一個與DOM節(jié)點hello對應的Ext元素。

          2、getCmp方法用來獲得Ext組件。
          getCmp方法用來獲得一個Ext組件,也就是一個已經在頁面中初始化了的Component或其子類的對象,getCmp方法其實是Ext.ComponentMgr.get方法的簡寫形式。getCmp方法中只有一個參數(shù),也就是組件的id。看下面的代碼:

          Ext.onReady(function(){  
            
          var h=new Ext.Panel({  

          id:"h2",  

          title:" ",  
            
          renderTo:"hello",  

          width:300,  
            
          height:200});  
            
          Ext.getCmp("h2").setTitle("新的標題");  
            
          });  

          我們使用Ext.getCmp("h2").來得到id為h2的組件,并調用其setTitle方法來設置該面板的標題

          3、getDom方法-獲得DOM節(jié)點
          getDom方法能夠得到文檔中的DOM節(jié)點,該方法中包含一個參數(shù),該參數(shù)可以是DOM節(jié)點的id、DOM節(jié)點對象或DOM節(jié)點對應的Ext元素(Element)等。比如下面的代碼:

           

          Ext.onReady(function(){  
            
          var e=new Ext.Element("hello");  
            
          Ext.getDom("hello");  
            
          Ext.getDom(e);  
            
          Ext.getDom(e.dom);  
            
          });  
            
          //Html:  代碼
            
            
          <div id="hello">tttt</div>

          在上面的代碼中,Ext.getDom("hello")、Ext.getDom(e)、Ext.getDom(e.dom)等三個語句返回都是同一個DOM節(jié)點對象。

          4、getBody方法-得到文檔的body節(jié)點元素(Element)。
          該方法直接得到文檔中與document.body這個DOM節(jié)點對應的ExtJS元素(Element),實質就是把document.body對象封裝成ExtJS元素對象返回,該方法不帶任何參數(shù)。比如下面的代碼把面板h直接渲染到文檔的body元素中。

          Ext.onReady(function(){  

          var h=new Ext.Panel({title:"測試",width:300,height:200});  

          h.render(Ext.getBody());  
            
          });  


          5、getDoc方法-獲得與document對應的Ext元素(Element)
          getDoc方法實質上就是把當前html文檔對象,也就是把document對象封裝成ExtJS的Element對象返回,該方法不帶任何參數(shù)。

          posted on 2008-09-23 13:50 々上善若水々 閱讀(4825) 評論(0)  編輯  收藏 所屬分類: JavaScript

          主站蜘蛛池模板: 百色市| 肥城市| 阜新市| 仁化县| 株洲县| 翼城县| 剑川县| 阿拉尔市| 宝鸡市| 鄂托克前旗| 汉寿县| 镇康县| 阆中市| 嘉峪关市| 霍州市| 赞皇县| 乌鲁木齐县| 冀州市| 安塞县| 蒙山县| 长寿区| 丽水市| 图们市| 大兴区| 黄大仙区| 九龙县| 新民市| 广南县| 霸州市| 贵州省| 四平市| 北海市| 高平市| 晋江市| 廉江市| 冷水江市| 乐东| 林西县| 白城市| 濉溪县| 宁安市|