DOM對象模型四大基本接口分別是什么,針對這個(gè)問題,這篇文章詳細(xì)介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問題的小伙伴找到更簡單易行的方法。
河津網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián)公司,河津網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為河津數(shù)千家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站建設(shè)公司要多少錢,請找那個(gè)售后服務(wù)好的河津做網(wǎng)站的公司定做!
在DOM對象模型接口規(guī)范中,有四個(gè)基本的接口,在這四個(gè)基本接口中,Document接口是對文檔進(jìn)行操作的入口,它是從Node接口繼承過來的。Node接口是其他大多數(shù)接口的父類,而NodeList接口是一個(gè)節(jié)點(diǎn)的集合,它包含了某個(gè)節(jié)點(diǎn)中的所有子節(jié)點(diǎn)。NamedNodeMap接口也是一個(gè)節(jié)點(diǎn)的集合。
DOM對象模型的四個(gè)基本接口
在DOM對象模型接口規(guī)范中,有四個(gè)基本的接口:Document,Node,NodeList以及NamedNodeMap。在這四個(gè)基本接口中,Document接口是對文檔進(jìn)行操作的入口,它是從Node接口繼承過來的。Node接口是其他大多數(shù)接口的父類,象Documet,Element,Attribute,Text,Comment等接口都是從Node接口繼承過來的。NodeList接口是一個(gè)節(jié)點(diǎn)的集合,它包含了某個(gè)節(jié)點(diǎn)中的所有子節(jié)點(diǎn)。NamedNodeMap接口也是一個(gè)節(jié)點(diǎn)的集合,通過該接口,可以建立節(jié)點(diǎn)名和節(jié)點(diǎn)之間的一一映射關(guān)系,從而利用節(jié)點(diǎn)名可以直接訪問特定的節(jié)點(diǎn)。下面將對這四個(gè)接口分別做一些簡單的介紹。
1.Document接口
Document接口代表了整個(gè)XML/HTML文檔,因此,它是整棵文檔樹的根,提供了對文檔中的數(shù)據(jù)進(jìn)行訪問和操作的入口。
由于元素、文本節(jié)點(diǎn)、注釋、處理指令等都不能脫離文檔的上下文關(guān)系而獨(dú)立存在,所以在Document接口提供了創(chuàng)建其他節(jié)點(diǎn)對象的方法,通過該方法創(chuàng)建的節(jié)點(diǎn)對象都有一個(gè)ownerDocument屬性,用來表明當(dāng)前節(jié)點(diǎn)是由誰所創(chuàng)建的以及節(jié)點(diǎn)同Document之間的聯(lián)系。
在DOM樹中,Document接口同其他接口之間的關(guān)系如下圖所示:
由圖可以看出,Document節(jié)點(diǎn)是DOM樹中的根節(jié)點(diǎn),也即對XML文檔進(jìn)行操作的入口節(jié)點(diǎn)。通過Docuemt節(jié)點(diǎn),可以訪問到文檔中的其他節(jié)點(diǎn),如處理指令、注釋、文檔類型以及XML文檔的根元素節(jié)點(diǎn)等等。另外,從上圖我們還可以看出,在一棵DOM樹中,Document節(jié)點(diǎn)可以包含多個(gè)處理指令、多個(gè)注釋作為其子節(jié)點(diǎn),而文檔類型節(jié)點(diǎn)和XML文檔根元素節(jié)點(diǎn)都是***的。
關(guān)于Document接口的IDL(InterfaceDefinitionLanguage接口定義語言)定義和其中一些比較常用的屬性和方法的詳細(xì)介紹在許多參考書都可以找到。
2.Node接口
Node接口在整個(gè)DOM樹中具有舉足輕重的地位,DOM對象模型接口中有很大一部分接口是從Node接口繼承過來的,例如,Element、Attr、CDATASection等接口,都是從Node繼承過來的。在DOM樹中,Node接口代表了樹中的一個(gè)節(jié)點(diǎn)。一個(gè)典型的Node接口如下圖所示:
如圖所示,Node接口提供了訪問DOM樹中元素內(nèi)容與信息的途徑,并給出了對DOM樹中的元素進(jìn)行遍歷的支持。
3.NodeList接口
NodeList接口提供了對節(jié)點(diǎn)集合的抽象定義,它并不包含如何實(shí)現(xiàn)這個(gè)節(jié)點(diǎn)集的定義。NodeList用于表示有順序關(guān)系的一組節(jié)點(diǎn),比如某個(gè)節(jié)點(diǎn)的子節(jié)點(diǎn)序列。另外,它還出現(xiàn)在一些方法的返回值中,例如GetNodeByName。
在DOM對象模型中,NodeList的對象是"live"的,換句話說,對文檔的改變,會(huì)直接反映到相關(guān)的NodeList對象中。例如,如果通過DOM獲得一個(gè)NodeList對象,該對象中包含了某個(gè)Element節(jié)點(diǎn)的所有子節(jié)點(diǎn)的集合,那么,當(dāng)再通過DOM對Element節(jié)點(diǎn)進(jìn)行操作(添加、刪除、改動(dòng)節(jié)點(diǎn)中的子節(jié)點(diǎn))時(shí),這些改變將會(huì)自動(dòng)地反映到NodeList對象中,而不需DOM對象模型應(yīng)用程序再做其他額外的操作。
NodeList中的每個(gè)item都可以通過一個(gè)索引來訪問,該索引值從0開始。
4.NamedNodeMap接口
實(shí)現(xiàn)了NamedNodeMap接口的對象中包含了可以通過名字來訪問的一組節(jié)點(diǎn)的集合。不過注意,NamedNodeMap并不是從NodeList繼承過來的,它所包含的節(jié)點(diǎn)集中的節(jié)點(diǎn)是無序的。盡管這些節(jié)點(diǎn)也可以通過索引來進(jìn)行訪問,但這只是提供了枚舉NamedNodeMap中所包含節(jié)點(diǎn)的一種簡單方法,并不表明在DOM對象模型規(guī)范中為NamedNodeMap中的節(jié)點(diǎn)規(guī)定了一種排列順序。
NamedNodeMap表示的是一組節(jié)點(diǎn)和其名字的一一對應(yīng)關(guān)系,這個(gè)接口主要用在屬性節(jié)點(diǎn)的表示上。
與NodeList相同,在DOM中,NamedNodeMap對象也是"live"的。
關(guān)于DOM對象模型四大基本接口分別是什么問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識(shí)。