設為首頁收藏本站Access中國

Office中國論壇/Access中國論壇

 找回密碼
 注冊

QQ登錄

只需一步,快速開始

淺談DOM之一:開篇

2015-7-3 13:16| 發(fā)布者: admin| 查看: 2187| 評論: 7|原作者: roych|來自: m.mzhfr.cn

摘要: 其實,DOM并不是很神秘的東西。散見于論壇的不少帖子,從本質上來看,都算是DOM。例如todaynew的jQuery小品系列和webbrowser系列,盜夢的webbrowser講解里也提及了一部分,leonshi的outlook多級導航系列等等。只是用 ...
       其實,DOM并不是很神秘的東西。散見于論壇的不少帖子,從本質上來看,都算是DOM。例如todaynew的jQuery小品系列和webbrowser系列,盜夢的webbrowser講解里也提及了一部分,leonshi的outlook多級導航系列等等。只是用jQuery封裝好的占多數(shù),而原生態(tài)的太少,便覺得,是時候應該總結一下了。當然,我這里講的是VBA里的DOM,但它基本上同樣適用于JavaScript,只是寫法迥異而已。

       講DOM必然涉及HTML,但我不會講解HTML里每個元素各代表什么,有哪些屬性,——有興趣的版友請自行學習,——而是提供一種如何使用DOM方法來處理元素。畢竟,這個系列不是寫給前端工程師看的。

       那么,什么是DOM?DOM的字面定義是:文檔對象模型(DocumentObject Model)的簡稱。這里的文檔特指網頁文檔。文檔對象指的自然是網頁元素了,如,圖像、文字等等。其模型是一個什么樣的模型呢?我們先來看看一個HTML文件(將以下代碼保存為htm或html為擴展名的文件):
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4.         <title>這是標題</title>
  5. </head>
  6. <body>
  7.         <div>
  8.                 <h1>標題1</h1>
  9.                 <div>
  10.                         <p>內容</p>
  11.                 </div>
  12.         </div>
  13. </body>
  14. </html>
復制代碼
       看到層次這么分明的嵌套結構,大家想到了什么?樹結構!回答正確!大家可以用瀏覽器打開一個網頁,然后右擊頁面,在彈出的菜單中選擇“檢查元素”(或“審查元素”),便可以看到這種樹結構。

       既然DOM是一種樹結構,那么,我們是不是可以像操作樹控件那樣來操作它呢?答案是肯定的,完全可以像操作樹控件那樣讀取節(jié)點,任意增刪改節(jié)點。——當然,也不應胡來,例如,把head移到body后面。

      由此我們可以知道,DOM可以做什么了:
  • 既然可以讀取節(jié)點,自然就能通過讀取頁面的節(jié)點來獲取頁面某些特定信息!熬W頁信息抓取”由此而生。
  • 對節(jié)點的增刪改類似于樹控件的增刪改,樹控件一般用來做什么?菜單導航。所以,我們也可以據(jù)此來設計頁面。論壇鼎鼎有名的“通用開發(fā)平臺”用的導航菜單用的是jQuery控件,而jQuery只是封裝了DOM對象的JavaScript框架,所以從這一點來看,它操作的歸根到底還是DOM。就好比素顏時是DOM對象,化妝之后便成了jQuery。
    今天先到這里,是為DOM開篇。
      test.rar……附件為普通網頁文件。后面講解選擇器時再附上mdb文件。
      下一節(jié)
發(fā)表評論

最新評論

引用 leonshi 2015-7-3 13:37
是的,用jquery實現(xiàn)樹形還不如要封裝好的,jquery用代碼寫樹比寫listview更費事,所以就借助了ztree的樹來實現(xiàn).黃海的百變加強版本就是完全靠代碼實現(xiàn)。
引用 盜夢 2015-7-3 13:41
我還以為要講BOM,哈哈
引用 roych 2015-7-3 13:48
leonshi 發(fā)表于 2015-7-3 13:37
是的,用jquery實現(xiàn)樹形還不如要封裝好的,jquery用代碼寫樹比寫listview更費事,所以就借助了ztree的樹來 ...

jQuery只是一個選擇器,做界面時肯定要結合一些UI或者插件才方便使用。否則還不如直接用原生態(tài)的JavaScript,——這樣頂多只是需要寫一些代碼檢測瀏覽器版本,但可能會更條理清晰一些。
引用 leonshi 2015-7-3 14:19
roych 發(fā)表于 2015-7-3 13:48
jQuery只是一個選擇器,做界面時肯定要結合一些UI或者插件才方便使用。否則還不如直接用原生態(tài)的JavaScri ...

是的
引用 風中漫步 2015-7-3 17:29
謝謝分享
引用 tmtony 2015-7-3 21:48
謝謝分享!
引用 dragonszr 2015-7-5 22:35
access2003能用么?

查看全部評論(7)

QQ|站長郵箱|小黑屋|手機版|Office中國/Access中國 ( 粵ICP備10043721號-1 )  

GMT+8, 2025-7-13 08:41 , Processed in 0.096333 second(s), 24 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

返回頂部