David.Ko

          Follow my heart!
          posts - 100, comments - 11, trackbacks - 0, articles - 0
             :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          日歷

          <2010年4月>
          28293031123
          45678910
          11121314151617
          18192021222324
          2526272829301
          2345678

          公告

          大家可以通過我的QQ:398956598MSN:wjmjhfs@hotmail.com 和我聯系!!

          相冊

          積分與排名

          • 積分 - 91035
          • 排名 - 636

          最新評論

          DOM的部分對象的層次結構

          Posted on 2010-04-22 12:31 David.Ko 閱讀(1859) 評論(0)  編輯  收藏 所屬分類: ext
          轉載于:http://hi.baidu.com/shtronger/blog/item/7dcf306174aa724deaf8f8f4.html

          DOM的部分對象的層次結構。

          在該層次結構中,最頂級的對象是窗口對象(window),它代表當前的瀏覽器窗口;之下是文檔對象(document)、事件對象(event)、框架對象(frame)、歷史對象(history)、地址對象(location)、瀏覽器對象(navigator)屏幕對象(screen);在文檔對象之下包括表單(form)、圖像(image)鏈接(link)等多種對象;在瀏覽器對象navigator之下包括MIME類型對象(mimeType)插件對象(plugin);在表單對象之下還包括按鈕(button)、復選框(checkbox)、文件選擇框(fileUpload)等多種對象。

          注意:這個圖只包括了基本的DOM對象,本教程中使用的對象都在其范圍內。這實際上只是DOM中很小的一部分。DOM的內容很豐富,可以寫一本厚厚的專著。

          既然都是對象,所以每一個DOM對象都擁有屬性(描述Web頁面或文檔的變量)和方法(允許操作部分Web頁面)。復雜的對象擁有的屬性和方法相當多,如document對象。
          注意:這些對象形成的是嵌套關系,而不是繼承關系。所謂嵌套,就是高層對象包含低層對象,低層對象的屬性和方法,和高層對象是相互獨立的,它們之間不 是父對象和子對象的關系。如同大盒子里可以放各種東西和小盒子、小盒子里還可以放各種東西和更小的盒子一樣。所謂繼承,就是子對象擁有父對象的一切屬性和 方法,同時可能還有自己的屬性和方法,類似于父子關系(當然還不完全一樣)。
          但在DOM中,也經常把下層對象說成是“子對象”,把上層對象說成是“父對象”。這種說法是不嚴格的,因為它們之間并不是繼承關系。但是,這種說法已經約定俗稱,因此我們后面也這樣說。

          需要注意的是:DOM不是JavaScript的一部分,而是內置在瀏覽器中的一個對象模型,所有語言都可以利用和操縱它,如VBScript、VB.NET、C#Java等。JavaScript只是最早使用DOM的語言而已,當然也是人們用得最多的網頁編程語言。因此,DOM可以看成應用程序接口(API)。DOM的基本內容已經標準化了,形成了DOM 1DOM 2規范,并被越來越多的瀏覽器所支持。DOM的高級部分仍在不斷發展中。

          對象引用方法

          既然是嵌套關系,當引用一個低層對象時,應該先寫父對象名,后面接著是子對象名,對象名之間用小圓點“.”隔開。例 如,document是最頂層對象window的下層對象,如果要表示文檔對象document的一個圖像子對象image9,因此引用image9對象 可以這樣寫:

             window.document.image9

          其實,這種引用方法在上一章的例子中已經多次使用。又如,如果要引用document對象,應使用window.document;如果要引用location對象,應使用window.location。由于window對象是默認的最上層對象,因此引用它的子對象時,可以不使用window.,也就是說,可以直接用document引用document對象,用location引用location對象。這就是為什么我們用了那么多“document.write”而不必用“window.document.write”的原因。

          當引用較低層次的對象時,一般有兩種方式 ---- 使用對象索引或使用對象名(對象的name屬性),也可以使用對象的id屬性。例如,如果要引用文檔中的第一個表單對象,則可以用:

             document.forms[0]

          來引用,因為一個document中的各個form對象會形成一個對象數組,form[0]當然是這個數組的第一個form對象即表單對象。如果該表單的name屬性為form1(或者id屬性為form1),則可以用:

             document.forms["form1"]

          或直接用:

             document.form1

          來引用該表單。同樣,如果在名稱為form1的表單中包括一個名稱為myText的文本框,則可以用:

             document.form1.myText

          來引用該文本框對象。

          后面我們將會看到:最好使用id屬性。要解釋原因,需要了解更多的知識,我們在本章后半部分會明白的。但在HTML教程中,主要介紹的是傳統的name屬性,因此現在我們兩個屬性都會使用的。

          對應于不同的對象,通常還有一些特殊的引用方法。例如,如果要引用表單對象中包含的對象,可以使用elements數組;如果要引用文檔對象中包含的某個標記符對象(例如<p>對象),可以使用document對象的all屬性,等等




          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 凭祥市| 连云港市| 开封县| 万全县| 玛曲县| 横山县| 宝丰县| 三亚市| 观塘区| 搜索| 三明市| 广汉市| 重庆市| 新河县| 承德市| 台中县| 夹江县| 黔西县| 会理县| 六枝特区| 固原市| 察雅县| 雅安市| 岳西县| 靖边县| 漯河市| 米泉市| 台中县| 资溪县| 塘沽区| 西城区| 隆安县| 疏附县| 龙山县| 清徐县| 河津市| 丰城市| 海口市| 陕西省| 同仁县| 定结县|