節(jié)點與節(jié)點樹
節(jié)點與節(jié)點樹的概念
HTML 文檔中的每項內(nèi)容都是一個節(jié)點,包括 HTML標簽、標簽屬性、文本內(nèi)容、注釋、空格或tab 等。
HTML 文檔中的所有節(jié)點組成了一個節(jié)點樹(或文檔樹)。HTML 文檔中的每個元素、屬性、文本等都代表著樹中的一個節(jié)點。樹起始于文檔節(jié)點,并由此繼續(xù)伸出枝條,直到處于這棵樹最低級別的所有文本節(jié)點為止。
節(jié)點與節(jié)點的關(guān)系
DOM節(jié)點之間都有等級關(guān)系,包括父節(jié)點、子節(jié)點、兄弟節(jié)點(同輩節(jié)點)、后代、父輩 等。
<html> <head> <title>DOM節(jié)點之間的關(guān)系</title> </head> <body> <h1>這是標題</h1> <p>這是內(nèi)容</p> </body> </html>
從上面的代碼可以看出:
除文檔節(jié)點(根節(jié)點)之外的每個節(jié)點都有父節(jié)點。
例如,<head> 和 <body> 的父節(jié)點是 <html> 節(jié)點,文本節(jié)點“ 這是內(nèi)容 ”的父節(jié)點是 <p> 節(jié)點。
大部分元素節(jié)點都有子節(jié)點。
例如,<head> 節(jié)點有一個子節(jié)點:<title> 節(jié)點;<title> 節(jié)點也有一個子節(jié)點:文本節(jié)點“ 這是標題 ”。
當節(jié)點擁有共同的父節(jié)點時,它們就是兄弟節(jié)點(同輩節(jié)點)。
例如,<h1> 和 <p>是兄弟節(jié)點,它們的父節(jié)點均是 <body> 節(jié)點。
節(jié)點也可以擁有后代,后代指某個節(jié)點的所有子節(jié)點,或者這些子節(jié)點的子節(jié)點,以此類推。
例如,所有的文本節(jié)點都是 <html>節(jié)點的后代,而第一個文本節(jié)點是 <head> 節(jié)點的后代。
節(jié)點也可以擁有先輩。先輩是某個節(jié)點的父節(jié)點,或者父節(jié)點的父節(jié)點,以此類推。
例如,所有的文本節(jié)點都可把 <html> 節(jié)點作為先輩節(jié)點。