摘要:主要介紹不常用的類型這里介紹我們的其他類型包括以下幾個(gè)類型類型類型類型類型類型類型類型文本節(jié)點(diǎn)由類型表示特征值為為為節(jié)點(diǎn)包含的文本是一個(gè)不支持沒(méi)有子節(jié)點(diǎn)我們可以通過(guò)訪問(wèn)節(jié)點(diǎn)包含的文本方法將添加到節(jié)點(diǎn)末尾從指定位置開(kāi)始刪除個(gè)字符從指定
主要介紹不常用的DOM類型
這里介紹我們的其他類型,包括以下幾個(gè)類型:
Text類型
Comment類型
CDATASection類型
DocumentType類型
DocumentFragment類型
Attr類型
Text類型文本節(jié)點(diǎn)由Text類型表示
特征nodeType值為3
nodeName為"#text"
nodeValue為節(jié)點(diǎn)包含的文本
parentNode是一個(gè)Element
不支持(沒(méi)有)子節(jié)點(diǎn)
我們可以通過(guò)nodeValue/data訪問(wèn)Text節(jié)點(diǎn)包含的文本.
方法appendData(text)將text添加到節(jié)點(diǎn)末尾
deleteData(offset,count)從offset指定位置開(kāi)始刪除count個(gè)字符
insertData(offset,text)從offset指定位置插入text
replaceData(offset,count,text)用text替換從offset指定的位置開(kāi)始到offset+count為止處的文本
splitText(offset)從offset指定的位置將當(dāng)前文本節(jié)點(diǎn)分成兩個(gè)文本節(jié)點(diǎn)
substringData(offset,count)提取從offset指定位置開(kāi)始到offset+count為止的字符串
除此之外,哈有l(wèi)ength屬性,保存著節(jié)點(diǎn)中字符的數(shù)目.且值與nodeValue.length和data.length相同.
修改時(shí)字符串會(huì)經(jīng)過(guò)HTML/XML編碼,所以對(duì)于小于號(hào),大于號(hào)和引號(hào)我們要進(jìn)行轉(zhuǎn)義
創(chuàng)建文本節(jié)點(diǎn)document.createTextNode()接受一個(gè)參數(shù),就是插入節(jié)點(diǎn)的文本,然后將會(huì)根據(jù)HTML/XML的格式進(jìn)行編碼.并且在創(chuàng)建時(shí)也會(huì)為其設(shè)置ownerDocument屬性.當(dāng)然我們要將它添加進(jìn)文檔樹(shù)中還是需要之前介紹過(guò)的操作的.
規(guī)范化文本節(jié)點(diǎn)normalize()這個(gè)方法,在一個(gè)包含多個(gè)文本節(jié)點(diǎn)的父元素上調(diào)用該方法,會(huì)將所有文本節(jié)點(diǎn)合并成一個(gè)節(jié)點(diǎn).
注意!(IE6):該方法會(huì)導(dǎo)致崩潰
Text類型提供了splitText方法就是和規(guī)范化文本節(jié)點(diǎn)相反的一個(gè)方法,這個(gè)方法我們?cè)谥坝薪榻B到,這是從文本節(jié)點(diǎn)提取數(shù)據(jù)的常用DOM解析技術(shù)
Comment類型這就是注釋了,在DOM中通過(guò)Comment類型來(lái)表示我們的注釋.
特征nodeType值為8
nodeName值為"#comment"
nodeValue值為注釋的內(nèi)容
parentNode可能是Document或Element
不支持(沒(méi)有)子節(jié)點(diǎn)
值得注意的是Comment類型和Text類型繼承自相同的基類,所有在方法上除了splitText()外所有字符串操作方法都與Text類型相似.
創(chuàng)建document.createComment(text)這個(gè)也與文本節(jié)點(diǎn)類似,而我們也很少訪問(wèn)這類節(jié)點(diǎn),所以這里不再贅述
CDATASection類型只針對(duì)XML文檔,表示的是CDATA區(qū)域,這與Comment類似,并且該類型繼承自Text類型,因此除了splitText()方法之外所有字符串操作方法都相似
特征nodeType值為4
nodeName值為"#cdata-section"
nodeValue為CDATA區(qū)域中的內(nèi)容
parentNode可能是Document或Element
不支持(沒(méi)有)子節(jié)點(diǎn)
創(chuàng)建document.createCDataSection()可以創(chuàng)建CDATA區(qū)域,傳入?yún)?shù)為傳入節(jié)點(diǎn)的內(nèi)容.
DocumentType類型這在Web瀏覽器中并不常用
特征nodeType值為10
nodeName值為doctype名稱
nodeValue值為null
parentNode是Document
不支持(沒(méi)有)子節(jié)點(diǎn)
在DOM 1級(jí)中,DocumentType對(duì)象不能動(dòng)態(tài)創(chuàng)建,只能通過(guò)解析文檔代碼方式創(chuàng)建.支持它的瀏覽器會(huì)把DocumentType對(duì)象保存在document.doctype中.并且描述了DocumentType對(duì)象的3個(gè)屬性:name,entities和notations.
name 表示文檔類型名稱
entities 即文檔類型描述的尸體的NamedNodeMap對(duì)象
notations 是由文檔類型描述的符號(hào)的NamedNodeMap對(duì)象
通常來(lái)說(shuō)只有name是有用的,它保存了
在所有節(jié)點(diǎn)類型中,只有該類型在文檔中沒(méi)有對(duì)應(yīng)的標(biāo)記.DOM規(guī)定文檔片段是一種"輕量級(jí)"的文檔,可以包含和控制節(jié)點(diǎn),但不會(huì)和完整的文檔那樣占用額外資源.
特征nodeType 值為11
nodeName 值為"#document-fragment"
nodeValue 為null
parentNode為null
子節(jié)點(diǎn)可以是Element,ProcessingInstruction,Comment,Text,CDATASection,EntityReference
它可以說(shuō)是一個(gè)文檔節(jié)點(diǎn)的倉(cāng)庫(kù)
創(chuàng)建document.createDocumentFragment()方法創(chuàng)建文檔片段,它繼承了Node所有的方法,我們可以通過(guò)之前所說(shuō)的方法添加節(jié)點(diǎn)到文檔片段中,再通過(guò)方法將文檔片段添加到文檔中,但是這過(guò)程中發(fā)生的并不是將文檔片段添加到文檔樹(shù).
文檔片段本身永遠(yuǎn)不會(huì)成為文檔樹(shù)的一部分,實(shí)際上指揮將其所有子節(jié)點(diǎn)添加(轉(zhuǎn)移)到相應(yīng)位置.
元素特性在DOM中以Attr類型表示,在所有瀏覽器中我們都可以訪問(wèn)Attr類型的構(gòu)造函數(shù)和原型.可以說(shuō)特性就是存在于元素的attributes屬性中的節(jié)點(diǎn).
特征nodeType值為2
nodeName為特性名
nodeValue為特性值
parentNode值為null
HTML中不支持(沒(méi)有)子節(jié)點(diǎn)
XML中子節(jié)點(diǎn)可以是Text或EntityReference
盡管我們稱它為節(jié)點(diǎn),但是特性并不被認(rèn)為是DOM文檔樹(shù)的一部分.
name
value
specified
這些在我們之前的章節(jié)也有所介紹,不再贅述
document.createAttribute(name)可以創(chuàng)建相應(yīng)的特性,傳入?yún)?shù)為特性名
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/91031.html
摘要:類型除了該死的其他所有瀏覽器都可以訪問(wèn)到類型而中所有節(jié)點(diǎn)類型都繼承自類型因此所有節(jié)點(diǎn)類型都共享著相同的基本屬性和方法每個(gè)節(jié)點(diǎn)都有一個(gè)屬性可以表明節(jié)點(diǎn)的類型我們來(lái)看看有哪些類型吧和屬性則完全取決于對(duì)于元素節(jié)點(diǎn)保存的始終為標(biāo)簽名而保存的值始終為 Node類型 除了IE(該死的IE),其他所有瀏覽器都可以訪問(wèn)到Node類型,而JS中所有節(jié)點(diǎn)類型都繼承自Node類型,因此所有節(jié)點(diǎn)類型都共享著相...
摘要:簡(jiǎn)介簡(jiǎn)史誕生于年,當(dāng)時(shí)主要負(fù)責(zé)表單的輸入驗(yàn)證。實(shí)現(xiàn)一個(gè)完整的由三部分組成核心文檔對(duì)象模型瀏覽器對(duì)象模型就是對(duì)實(shí)現(xiàn)該標(biāo)準(zhǔn)規(guī)定的各個(gè)方面內(nèi)容的語(yǔ)言的描述。把整個(gè)頁(yè)面映射為一個(gè)多層節(jié)點(diǎn)結(jié)構(gòu)。由萬(wàn)維網(wǎng)聯(lián)盟規(guī)劃。主要目標(biāo)是映射文檔的結(jié)構(gòu)。 JavaScript簡(jiǎn)介 JavaScript簡(jiǎn)史 JavaScript誕生于1995年,當(dāng)時(shí)主要負(fù)責(zé)表單的輸入驗(yàn)證。 如果沒(méi)有表單驗(yàn)證的功能,填入信息之...
摘要:為屬性賦值匿名函數(shù)事件作用域使用級(jí)方法指定的事件處理程序被認(rèn)為是元素的方法。最后這個(gè)布爾值參數(shù)如果是,表示在捕獲階段調(diào)用事件處理程序如果是,表示在冒泡階段調(diào)用事件處理程序。 事件捕獲和事件冒泡 DOM2級(jí)事件規(guī)定的事件流包括三個(gè)階段:事件捕獲、處于目標(biāo)階段和事件冒泡。首先發(fā)生的是事件捕獲,從外部節(jié)點(diǎn)到內(nèi)部節(jié)點(diǎn)依次遍歷,為截獲事件提供了機(jī)會(huì)。然后是實(shí)際的目標(biāo)接收到事件。最后一個(gè)階段是冒泡...
摘要:為屬性賦值匿名函數(shù)事件作用域使用級(jí)方法指定的事件處理程序被認(rèn)為是元素的方法。最后這個(gè)布爾值參數(shù)如果是,表示在捕獲階段調(diào)用事件處理程序如果是,表示在冒泡階段調(diào)用事件處理程序。 事件捕獲和事件冒泡 DOM2級(jí)事件規(guī)定的事件流包括三個(gè)階段:事件捕獲、處于目標(biāo)階段和事件冒泡。首先發(fā)生的是事件捕獲,從外部節(jié)點(diǎn)到內(nèi)部節(jié)點(diǎn)依次遍歷,為截獲事件提供了機(jī)會(huì)。然后是實(shí)際的目標(biāo)接收到事件。最后一個(gè)階段是冒泡...
摘要:在基于使用命名空間的文檔求值時(shí),需要使用對(duì)象。第四個(gè)參數(shù)的取值類型是下列常量之一,返回與表達(dá)式匹配的數(shù)據(jù)類型。,返回字符串值。這是最常用的結(jié)果類型。集合中節(jié)點(diǎn)的次序與它們?cè)谖臋n中的次序一致。 JavaScript與XML 瀏覽器對(duì)XML DOM的支持 DOM2級(jí)核心 在通過(guò)JavaScript處理XML時(shí),通常只使用參數(shù)root,因?yàn)檫@個(gè)參數(shù)指定的是XML DOM文檔元素的標(biāo)簽名 v...
閱讀 3055·2023-04-26 03:01
閱讀 3546·2023-04-25 19:54
閱讀 1598·2021-11-24 09:39
閱讀 1381·2021-11-19 09:40
閱讀 4260·2021-10-14 09:43
閱讀 2077·2019-08-30 15:56
閱讀 1501·2019-08-30 13:52
閱讀 1668·2019-08-29 13:05