摘要:節(jié)點(diǎn)層次是針對(duì)和文檔的一個(gè)。每一段標(biāo)記都可以通過(guò)一個(gè)節(jié)點(diǎn)來(lái)表示。用于表明節(jié)點(diǎn)的類(lèi)型。返回新增的這個(gè)節(jié)點(diǎn)。將節(jié)點(diǎn)插入到節(jié)點(diǎn)列表指定的位置。節(jié)點(diǎn)有以下的特性為,為指向元素,指向元素。提供了對(duì)元素的標(biāo)簽名,子節(jié)點(diǎn)和特性的訪問(wèn)。
節(jié)點(diǎn)層次
DOM是針對(duì)HTML和XML文檔的一個(gè)API。DOM描繪了一個(gè)層次化的節(jié)點(diǎn)樹(shù),允許開(kāi)發(fā)人員添加、移除和修改頁(yè)面的某一部分。
DOM可以將任何HTML或XML文檔描繪成一個(gè)由多層節(jié)點(diǎn)構(gòu)成的結(jié)構(gòu)。每個(gè)節(jié)點(diǎn)都有自己的特點(diǎn)、數(shù)據(jù)和方法,也與其他的節(jié)點(diǎn)存在某種關(guān)系,構(gòu)成了層次。
元素為文檔元素。是文檔的最外層元素。每一段標(biāo)記都可以通過(guò)一個(gè)節(jié)點(diǎn)來(lái)表示。HTML元素通過(guò)元素點(diǎn)表示,特性通過(guò)特性點(diǎn)來(lái)表示。文檔類(lèi)型通過(guò)文檔類(lèi)型節(jié)點(diǎn)來(lái)表示。注釋通過(guò)注釋節(jié)點(diǎn)來(lái)表示。共有12種節(jié)點(diǎn)類(lèi)型,這些類(lèi)型都繼承自一個(gè)基類(lèi)型。
1、Node類(lèi)型每個(gè)節(jié)點(diǎn)都有一個(gè)nodeType屬性。用于表明節(jié)點(diǎn)的類(lèi)型。要了解節(jié)點(diǎn)的具體信息,可以使用nodeName和nodeValue這兩個(gè)屬性。這兩個(gè)屬性的值完全取決于節(jié)點(diǎn)的類(lèi)型。
每個(gè)節(jié)點(diǎn)都有一個(gè)childNodes屬性,其中保存著NodeList對(duì)象??梢酝ㄟ^(guò)方括號(hào),也可以使用item()來(lái)訪問(wèn)Nodelist中的節(jié)點(diǎn)。
每個(gè)節(jié)點(diǎn)都有一個(gè)parentNode屬性,指向父節(jié)點(diǎn)。 都有previousSibling 和nextSibling
父節(jié)點(diǎn)的firstChild和lastChild分別指向其childNodes的第一個(gè)和最后一個(gè)節(jié)點(diǎn)。
因?yàn)楣?jié)點(diǎn)的關(guān)系指針都是只讀的,所以DOM提供了操作節(jié)點(diǎn)的方法。
appendChild():向childNodes列表的末尾添加一個(gè)節(jié)點(diǎn)。返回新增的這個(gè)節(jié)點(diǎn)。如果已經(jīng)有了這個(gè)節(jié)點(diǎn), 那么就將該節(jié)點(diǎn)從原來(lái)的位置轉(zhuǎn)移到最后的位置。
insertBefore():將節(jié)點(diǎn)插入到節(jié)點(diǎn)列表指定的位置。接收兩個(gè)參數(shù),被插入的節(jié)點(diǎn)和作為參照的節(jié)點(diǎn), 被插入的節(jié)點(diǎn)將會(huì)變成參照節(jié)點(diǎn)的前一個(gè)同胞節(jié)點(diǎn)。
replaceChild():替換節(jié)點(diǎn)。接收兩個(gè)參數(shù),要插入的節(jié)點(diǎn)和要替換的節(jié)點(diǎn)。 返回要替換的節(jié)點(diǎn)。
removeChild():移除節(jié)點(diǎn)。 返回值為那個(gè)被移除的節(jié)點(diǎn)。
cloneNode():復(fù)制節(jié)點(diǎn)。參數(shù)為 true的時(shí)候執(zhí)行深復(fù)制,為false則執(zhí)行淺復(fù)制。這個(gè)方法只復(fù)制特性,不會(huì)復(fù)制節(jié)點(diǎn)中的js屬性。
2、Document類(lèi)型js通過(guò)document類(lèi)型表示文檔。document對(duì)象是HTMLDocument的一個(gè)實(shí)例。Document節(jié)點(diǎn)有以下的特性:
nodeType為9,nodeName為‘#document’document.documentElement指向html元素,document.body指向body元素。
document.title:獲取或修改文檔的標(biāo)題。
document.URL:獲取完成的URL
document.domain:獲取域名
document.referrer:獲取來(lái)源頁(yè)面的URL
document.getElementById():
document.getElementByTageName:獲取到HTMLCollection對(duì)象,這個(gè)對(duì)象有一個(gè)方法namedItem(),可以通過(guò)元素的name特性取得集合中的項(xiàng)。
document.getElementByName():獲得所有有name特性的元素。
特殊集合:
document.forms:取得文檔中所有form元素。
document.images:取得所有的img元素。
document.links:取得所有帶href特性的a元素
document.write():頁(yè)面寫(xiě)入內(nèi)容
3、Element類(lèi)型element類(lèi)型為xml或者h(yuǎn)tml的元素。提供了對(duì)元素的標(biāo)簽名,子節(jié)點(diǎn)和特性的訪問(wèn)。
特性:nodeType為1, nodeName的值為元素的標(biāo)簽名。 parentNode可能為Document或者Element
標(biāo)準(zhǔn)屬性:id、title 、lang(元素內(nèi)容的語(yǔ)言代碼,很少使用)、dir(值為ltr或rtl)、className
取得特性: getAttribute()有兩類(lèi)特殊的特性,通過(guò)getAttribute返回的值并不相同。第一個(gè)就是style,返回的是style的字符串。 第二個(gè)就是onlick這樣的事件處理程序,返回的也是相應(yīng)代碼的字符串?;谶@些,一般只有在取得自定義特性值的時(shí)候,才使用getAttribute的方法。
- setAttribute():參數(shù)為 要設(shè)置的特性名 和值
- removeAttribute():刪除元素的特性。
- attributes屬性
創(chuàng)建元素
- document.createElement()可以創(chuàng)建新元素,參數(shù)為要?jiǎng)?chuàng)建元素的標(biāo)簽名。
元素的子節(jié)點(diǎn)
- 元素的childNodes屬性中包含了它的所有的子節(jié)點(diǎn)
4、Text類(lèi)型文本節(jié)點(diǎn)由Text類(lèi)型表示,包含的可以是純文本內(nèi)容。
特性: nodeType為3, nodeName為‘#text’, nodeValue為節(jié)點(diǎn)所包含的文本。 不支持子節(jié)點(diǎn)
創(chuàng)建文本節(jié)點(diǎn)
- document.createTextNode()創(chuàng)建新文本節(jié)點(diǎn)。參數(shù)為要插入的文本。
規(guī)范化文本節(jié)點(diǎn)
- normalize()可以將一個(gè)包含多個(gè)文本節(jié)點(diǎn)的父元素的所有文本節(jié)點(diǎn)合并成一個(gè)節(jié)點(diǎn)。
- splitText():按照指定的位置分割ndoeValue
5、Comment類(lèi)型注釋類(lèi)型,特性為:nodeType為8,nodeName為‘#comment’,nodeValue為注釋內(nèi)容
6、DocumentFragment類(lèi)型文檔片段在文檔中是沒(méi)有對(duì)應(yīng)的標(biāo)記的。不過(guò)可以包含和控制節(jié)點(diǎn)。
document.createDocumentFragment()
7、Attr類(lèi)型元素的特性就是Attr類(lèi)型來(lái)表示。特征為: nodeType為2,nodeName為特性的名稱(chēng),nodeValue為特性的值
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/106015.html
摘要:的類(lèi)型類(lèi)型創(chuàng)建對(duì)象的方法調(diào)用構(gòu)造函數(shù)使用字面量將數(shù)據(jù)直接指定給一個(gè)變量。表示解析器應(yīng)該忽略標(biāo)記中的處理指令。這三個(gè)設(shè)置會(huì)影響對(duì)傳入到構(gòu)造函數(shù)中的字符串以及字面量的解析。 showImg(https://segmentfault.com/img/bVbvHVV?w=737&h=593); 1、E4X的類(lèi)型 1.1 XML類(lèi)型 1、創(chuàng)建XML對(duì)象的方法: (1)調(diào)用構(gòu)造函數(shù): var x ...
摘要:年月級(jí)規(guī)范成為的推薦標(biāo)準(zhǔn),為基本的文檔結(jié)構(gòu)及查詢提供了接口。這意味著中的對(duì)象與原生對(duì)象的行為或活動(dòng)特點(diǎn)并不一致。結(jié)果第一條注釋就會(huì)成為中的第一個(gè)子節(jié)點(diǎn)。由于跨域安全限制,來(lái)自不同子域的頁(yè)面無(wú)法通過(guò)通信。 DOM(文檔對(duì)象模型)是針對(duì)HTML和XML文檔的一個(gè)API(應(yīng)用程序編程接口)。DOM描繪了一個(gè)層次化的節(jié)點(diǎn)樹(shù),允許開(kāi)發(fā)人員添加、移除和修改頁(yè)面的某一部分。DOM脫胎于Netsc...
摘要:函數(shù)接收三個(gè)參數(shù)上下文節(jié)點(diǎn)表達(dá)式和可選的命名空間對(duì)象。命名空間對(duì)象應(yīng)該是下面這種字面量的形式。使用樣式表轉(zhuǎn)換文檔跨瀏覽器使用這個(gè)函數(shù)接收兩個(gè)參數(shù)要執(zhí)行轉(zhuǎn)換的上下文節(jié)點(diǎn)和文檔對(duì)象。 showImg(https://segmentfault.com/img/bVbvHVd?w=962&h=496); 本章主要講解了以下四個(gè)問(wèn)題: 1、將XML解析為DOM文檔 跨瀏覽器把XML解析為DOM文...
摘要:動(dòng)態(tài)腳本創(chuàng)建動(dòng)態(tài)腳本有兩種方式插入外部文件和直接插入代碼。一般來(lái)說(shuō)應(yīng)該盡量減少訪問(wèn)的次數(shù),因?yàn)槊看卧L問(wèn),都會(huì)運(yùn)行一次基于文檔的查詢。所以,可以考慮將從中取得的值緩存起來(lái)。 1、動(dòng)態(tài)腳本 創(chuàng)建動(dòng)態(tài)腳本有兩種方式:插入外部文件和直接插入Javascript代碼。 (1)調(diào)用外部文件 function loadScript(url) { var script = documen...
摘要:設(shè)定的值的時(shí)候,即已自動(dòng)暗示類(lèi)型。第五章循環(huán)自我重復(fù)的風(fēng)險(xiǎn)數(shù)組用于在單一場(chǎng)所存儲(chǔ)多段數(shù)據(jù)數(shù)組的頁(yè)碼稱(chēng)為鍵,索引只是一種形式特殊的鍵,它是數(shù)值鍵存儲(chǔ)在數(shù)組里的數(shù)據(jù)不一定為相同類(lèi)型并不要求二維數(shù)組具有相同的行數(shù),但是最好保持一致。 ** 簡(jiǎn)介 **書(shū)名:《Head First JavaScript》中文譯名:《深入淺出JavaScript》著:Michael Morrison編譯:O’R...
閱讀 2248·2021-11-18 10:02
閱讀 3499·2021-11-15 11:36
閱讀 1124·2019-08-30 14:03
閱讀 741·2019-08-30 11:08
閱讀 2772·2019-08-29 13:20
閱讀 3295·2019-08-29 12:34
閱讀 1382·2019-08-28 18:30
閱讀 1648·2019-08-26 13:34