程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> J2ME >> 深入學習Html DOM樹的操作

深入學習Html DOM樹的操作

編輯:J2ME

你對HTML DOM樹的概念是否了解, 這裡和大家分享一下,DOM是文檔對象模型(Document Object Model),是基於浏覽器編程的一套API接口,W3C出台的推薦標准,每個浏覽器都有一些細微的差別,單純的 Javascript要結合DOM才能做DHtml編程,才能做出漂亮的效果、應用於WEB。因此,必須要對DOM有一定的認識,才能把Javascript應用於WEB,或你的RIA應用當中,因為 DHtml本質上就是操作DOM樹。

DOM樹

DOM樹的根統一為文檔根—document,DOM既然是樹狀結構,那麼他們自然有如下的幾種關系:

◆根結點(document)

◆父結點(parentNode)

◆子結點(childNodes)

兄弟結點兄弟結點

(sibling)(sibling)
例子:

假設網頁的Html如下

  1. <Html> 
  2. <head> 
  3. <title>never-online'swebsite</title> 
  4. </head> 
  5. <body> 
  6. <div>tutorialofDHtmlandJavascriptprogramming</div> 
  7. </body> 
  8. </Html> 
  9.  

我們參照樹的概念,畫出該Html文檔結構的DOM樹:

             Html
           body       head
       divt               itle
     文本                     文本

從上面的圖示可以看出html有兩個子結點,而Html就是這兩個子節點的父結點,head有節點title,title下有一個文本節點,doby下有節點div,div下有一個文本節點。

操作DOM樹

開篇已經說過,DHtml本質就是操作DOM樹。如何操作它呢?假設我要改變上面Html文檔中div結點的文本,如何做?

示例代碼:

  1. <Html> 
  2. <head> 
  3. <title>never-online'swebsite</title> 
  4. <script> 
  5. functionchangedivText(strText){  
  6. varnodeRoot=document;//這個是根結點  
  7. varnodeHtml=nodeRoot.childNodes[0];//這個是Html結點  
  8. varnodeBody=nodeHtml.childNodes[1];//body結點  
  9. varnodeDiv=nodeBody.childNodes[0];//DIV結點  
  10. varnodeText=nodeDiv.childNodes[0];//文本結點'  
  11. nodeText.data=strText;//文本節點有data這個屬性,  
  12. 因此我們可以改變這個屬性,也就成功的操作了DOM樹中的一個結點了  
  13. }  
  14. </script> 
  15. </head> 
  16. <body> 
  17. <div>tutorialofDHtmlandJavascriptprogramming</div> 
  18. <inputonclickinputonclick="changedivText('change?')"
  19. type="button"value="change"/> 
  20. </body> 
  21. </Html> 
  22.  

從上面的示例可以看出,我們可以用上面的這種方法操作DOM樹上的任一節點。

注:

1.跨域除外,跨域通常是在操作frame上,簡單的說,就是兩個frame不屬於同一域名。

2.上面的操作為了演示,采用的方法是從根結點一直到文本結點的遍歷,在DOM方法上,有更簡潔的方法,這些以後會有更多示例加以說明。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved