DOM-->DOM的概念及子節(jié)點類型

javascript的組成

javascript是由三部分組成:

  • ECMAscript
    定義了基本的語法,比如說數(shù)據(jù)類型显沈, 函數(shù), 流程控制等
  • BOM
    定義了操作瀏覽器的接口
  • DOM
    定義了操作html結(jié)構(gòu)的接口,比如說獲取html元素, 增加刪除html元素拉讯,
    操作html元素屬性涤浇,修改樣式等

DOM的概念及子節(jié)點類型

基本概念

什么是DOM

DOM: Document Object Model 文檔對象模型

文檔: html頁面

文檔對象: html頁面中的元素

文檔對象模型: DOM是JavaScript操作網(wǎng)頁的接口。從本質(zhì)上說魔慷,它將web 頁面和腳本或編程語言連接起來了只锭。

document.getElementById
document.getElementsByTagName

都是DOM提供的獲取網(wǎng)頁元素的方法

節(jié)點

DOM的最小組成單位叫做節(jié)點(node)。文檔的樹形結(jié)構(gòu)(DOM樹)院尔,就是由各種不同類型的節(jié)點組成蜻展。每個節(jié)點可以看作是文檔樹的一片葉子。

節(jié)點的類型有七種邀摆。

  • Document:整個文檔樹的頂層節(jié)點
  • DocumentType:doctype標(biāo)簽(比如<!DOCTYPE html>
  • Element:網(wǎng)頁的各種HTML標(biāo)簽(比如<body>纵顾、<a>等)
  • Attribute:網(wǎng)頁元素的屬性(比如class="right"
  • Text:標(biāo)簽之間或標(biāo)簽包含的文本
  • Comment:注釋
  • DocumentFragment:文檔的片段

這七種節(jié)點都屬于瀏覽器原生提供的節(jié)點對象的派生對象,具有一些共同的屬性和方法栋盹。

節(jié)點樹

一個文檔的所有節(jié)點施逾,按照所在的層級,可以抽象成一種樹狀結(jié)構(gòu)例获。這種樹狀結(jié)構(gòu)就是DOM汉额。

最頂層的節(jié)點就是document節(jié)點,它代表了整個文檔榨汤。文檔里面最高一層的HTML標(biāo)簽蠕搜,一般是<html>,它構(gòu)成樹結(jié)構(gòu)的根節(jié)點(root node)收壕,其他HTML標(biāo)簽節(jié)點都是它的下級妓灌。

除了根節(jié)點以外,其他節(jié)點對于周圍的節(jié)點都存在三種關(guān)系啼器。

  • 父節(jié)點關(guān)系(parentNode):直接的那個上級節(jié)點
  • 子節(jié)點關(guān)系(childNodes):直接的下級節(jié)點
  • 同級節(jié)點關(guān)系(sibling):擁有同一個父節(jié)點的節(jié)點

DOM提供操作接口旬渠,用來獲取三種關(guān)系的節(jié)點。其中端壳,子節(jié)點接口包括firstChild(第一個子節(jié)點)和lastChild(最后一個子節(jié)點)等屬性告丢,同級節(jié)點接口包括nextSibling(緊鄰在后的那個同級節(jié)點)和previousSibling(緊鄰在前的那個同級節(jié)點)屬性。

特征相關(guān)的屬性

所有節(jié)點對象都是瀏覽器內(nèi)置的Node對象的實例损谦,繼承了Node屬性和方法岖免。這是所有節(jié)點的共同特征。

以下屬性與節(jié)點對象本身的特征相關(guān)照捡。

Node.nodeName颅湘,Node.nodeType

nodeName屬性返回節(jié)點的名稱,nodeType屬性返回節(jié)點類型的常數(shù)值栗精。具體的返回值闯参,可查閱下方的表格瞻鹏。

類型 nodeName nodeType
ELEMENT_NODE 大寫的HTML元素名 1
ATTRIBUTE_NODE 等同于Attr.name 2
TEXT_NODE #text 3
COMMENT_NODE #comment 8
DOCUMENT_NODE #document 9
DOCUMENT_FRAGMENT_NODE #document-fragment 11
DOCUMENT_TYPE_NODE 等同于DocumentType.name 10

以document節(jié)點為例,它的nodeName屬性等于#document鹿寨,nodeType屬性等于9新博。

document.nodeName // "#document"
document.nodeType // 9

如果是一個<p>節(jié)點,它的nodeName是P脚草,nodeType是1赫悄。文本節(jié)點的nodeName是#text,nodeType是3馏慨。

通常來說埂淮,使用nodeType屬性確定一個節(jié)點的類型,比較方便

document.getElementsByTagName('a').nodeType === 1
// true

document.getElementsByTagName('a').nodeType === Node.ELEMENT_NODE
// true
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末写隶,一起剝皮案震驚了整個濱河市倔撞,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌樟澜,老刑警劉巖误窖,帶你破解...
    沈念sama閱讀 217,084評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異秩贰,居然都是意外死亡霹俺,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,623評論 3 392
  • 文/潘曉璐 我一進店門毒费,熙熙樓的掌柜王于貴愁眉苦臉地迎上來丙唧,“玉大人,你說我怎么就攤上這事觅玻∠爰剩” “怎么了?”我有些...
    開封第一講書人閱讀 163,450評論 0 353
  • 文/不壞的土叔 我叫張陵溪厘,是天一觀的道長胡本。 經(jīng)常有香客問我,道長畸悬,這世上最難降的妖魔是什么侧甫? 我笑而不...
    開封第一講書人閱讀 58,322評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮蹋宦,結(jié)果婚禮上披粟,老公的妹妹穿的比我還像新娘。我一直安慰自己冷冗,他們只是感情好守屉,可當(dāng)我...
    茶點故事閱讀 67,370評論 6 390
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著蒿辙,像睡著了一般拇泛。 火紅的嫁衣襯著肌膚如雪滨巴。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,274評論 1 300
  • 那天俺叭,我揣著相機與錄音兢卵,去河邊找鬼。 笑死绪颖,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的甜奄。 我是一名探鬼主播柠横,決...
    沈念sama閱讀 40,126評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼课兄!你這毒婦竟也來了牍氛?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,980評論 0 275
  • 序言:老撾萬榮一對情侶失蹤烟阐,失蹤者是張志新(化名)和其女友劉穎搬俊,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體蜒茄,經(jīng)...
    沈念sama閱讀 45,414評論 1 313
  • 正文 獨居荒郊野嶺守林人離奇死亡唉擂,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,599評論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了檀葛。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片玩祟。...
    茶點故事閱讀 39,773評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖屿聋,靈堂內(nèi)的尸體忽然破棺而出空扎,到底是詐尸還是另有隱情,我是刑警寧澤润讥,帶...
    沈念sama閱讀 35,470評論 5 344
  • 正文 年R本政府宣布转锈,位于F島的核電站,受9級特大地震影響楚殿,放射性物質(zhì)發(fā)生泄漏撮慨。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,080評論 3 327
  • 文/蒙蒙 一勒魔、第九天 我趴在偏房一處隱蔽的房頂上張望甫煞。 院中可真熱鬧,春花似錦冠绢、人聲如沸抚吠。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,713評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽项阴。三九已至锌奴,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間萧朝,已是汗流浹背岔留。 一陣腳步聲響...
    開封第一講書人閱讀 32,852評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留检柬,地道東北人献联。 一個月前我還...
    沈念sama閱讀 47,865評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像何址,于是被迫代替她去往敵國和親里逆。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,689評論 2 354

推薦閱讀更多精彩內(nèi)容