摘要:在瀏覽器中,對(duì)象是繼承自類型的一個(gè)實(shí)例,表示整個(gè)頁面。它這種情況稱為文檔碎片,還無法顯示在瀏覽器的畫面中。創(chuàng)建一個(gè)文本節(jié)點(diǎn)并添加到新元素中的代碼如下總結(jié)文檔對(duì)象模型,是針對(duì)和文檔的一個(gè)應(yīng)用程序編程接口,描繪了一個(gè)層次化的節(jié)點(diǎn)樹。
DOM 是什么
文檔對(duì)象模型,是針對(duì) HTML 和 XML 文檔的一個(gè) API (應(yīng)用程序編程接口), 描繪了一個(gè)層次化的節(jié)點(diǎn)樹。
D: document當(dāng) web 瀏覽器瀏覽一個(gè)頁面的時(shí)候,DOM 就在幕后把你編輯的網(wǎng)頁文檔轉(zhuǎn)換成一個(gè)文檔對(duì)象。(這也是為什么瀏覽器打開一個(gè) html 文檔顯示的是豐富的內(nèi)容,而在文本編輯器打開顯示的是 html 源碼的原因)
O: objectJavaScript 中宿主對(duì)象 window 中的一個(gè)屬性:document。 document 對(duì)象主要處理網(wǎng)頁內(nèi)容。
M: modelDOM 把一份文檔表示為一棵樹。如文檔:
Title 標(biāo)題
內(nèi)容
文檔模型用下圖表示:
節(jié)點(diǎn)上面介紹到 DOM 可以將任何的 html 與 xml 描繪成一個(gè)由多層節(jié)點(diǎn)構(gòu)成的樹。
而DOM 的每個(gè)節(jié)點(diǎn)都有 nodeType , nodeName 和 nodeValue 屬性,可以通過這些屬性了解節(jié)點(diǎn)的具體信息。
接下來介紹其中 5 種節(jié)點(diǎn):
nodeType: 9
nodeName: #document
nodeValue: null
JavaScript 通過 Document 類型表示文檔。
在瀏覽器中,document 對(duì)象是 HTMLDocument(繼承自 Document 類型)的一個(gè)實(shí)例,表示整個(gè) HTML 頁面。而且 document 對(duì)象是 window 對(duì)象的一個(gè)屬性。
可嘗試在 chrome 瀏覽器控制臺(tái)中打出:
console.log(document.nodeType); < 9 console.log(document.nodeName); < #document console.log(document.nodeValue); < nullElement - 元素節(jié)點(diǎn)
nodeType: 1
nodeName: 元素的標(biāo)簽名
nodeValue: null
文本段落的 nodeName:p
鏈接的 nodeName:a
元素可以包含其他元素,如標(biāo)題包含鏈接等。
html 是根元素,唯一一個(gè)不能被包含在其他元素里面的元素。
nodeType: 3
nodeName: #text
nodeValue: 節(jié)點(diǎn)所包含文本
頁面中,我們看到的文字都是一個(gè)個(gè)文本節(jié)點(diǎn)。
如:
文本
文本節(jié)點(diǎn)總是被包含在元素節(jié)點(diǎn)的內(nèi)部。但并非所有的元素節(jié)點(diǎn)都包含文本節(jié)點(diǎn)。如:ul、 img
Attr - 屬性節(jié)點(diǎn)屬性就是存在于元素的 attributes 屬性中的節(jié)點(diǎn)。通俗的講,屬性節(jié)點(diǎn)用來對(duì)元素做出更具體的描述。
nodeType: 2
nodeName: 屬性的名稱
nodeValue: 屬性的值
例如:title, align, alt ...
Comment - 注釋節(jié)點(diǎn)nodeType: 8
nodeName: #comment
nodeValue: 注釋的內(nèi)容
如:
就是一個(gè)注釋節(jié)點(diǎn)
childNodes: 獲取任何一個(gè)元素的所有類型的節(jié)點(diǎn),不僅僅是元素節(jié)點(diǎn),還有文本節(jié)點(diǎn)、注釋節(jié)點(diǎn)等。
nodeType: 節(jié)點(diǎn)類型值,總共有 12 中可取值
nodeName: 節(jié)點(diǎn)名稱
nodeValue: 一個(gè)節(jié)點(diǎn)的值
firstChild: 元素的第一個(gè)元素
lastChild: 元素的最后一個(gè)元素
innerHTML: 讀、寫某給定元素里的 HTML 內(nèi)容
通過 ID 查找元素。
函數(shù)參數(shù)為 ID 的值,如果元素存在,返回 document 對(duì)象,不存在返回 null。
var ele = document.getElementById("ts");
getElementsByClassName
通過 class 名稱查找元素
函數(shù)參數(shù)為 class 的值,如果元素匹配到,返回的是 document 對(duì)象集合,不匹配則返回空數(shù)組。
作用: 創(chuàng)建新元素 元素被創(chuàng)建后,可以為其添加更多的子節(jié)點(diǎn),或者操作元素特性等。 作用:將節(jié)點(diǎn)添加到另一個(gè)節(jié)點(diǎn)的末端 作用:創(chuàng)建新文本節(jié)點(diǎn) DOM(文檔對(duì)象模型),是針對(duì) HTML 和 XML 文檔的一個(gè) API (應(yīng)用程序編程接口), 描繪了一個(gè)層次化的節(jié)點(diǎn)樹。 文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。 轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/87848.html
函數(shù)只接受一個(gè)參數(shù),即要?jiǎng)?chuàng)建函數(shù)的標(biāo)簽名。
創(chuàng)建一個(gè) var $div = document.createElement("div");
雖然這個(gè)元素已經(jīng)存在并且已經(jīng)擁有了自己的 DOM 屬性,但它還不是任何一顆 DOM 樹的組成部分,它只是游蕩在 JavaScript 世界里的一個(gè)孤兒。它這種情況稱為文檔碎片,還無法顯示在瀏覽器的畫面中。
可以使用 appendChild 添加到 DOM 樹中 。
函數(shù)參數(shù)只有一個(gè),為即將被添加的節(jié)點(diǎn)。
如:
var div = document.createElement("div");
var ele = document.getElementById("test");
ele.appendChild(node);
createTextNode
函數(shù)只接受一個(gè)函數(shù),即要插入節(jié)點(diǎn)中的文本。
創(chuàng)建一個(gè)文本節(jié)點(diǎn)并添加到新元素中的代碼如下:var textNode = document.createTextNode("hello node!");
var div = document.createElement("div");
div.appendChild(textNode);
總結(jié)
DOM 的 5 種節(jié)點(diǎn)類型:文檔、元素、文本、屬性、注釋。
DOM 常用屬性介紹。
DOM 常用方法介紹,分為兩類:操作元素、查找元素。
摘要:在瀏覽器中,對(duì)象是繼承自類型的一個(gè)實(shí)例,表示整個(gè)頁面。它這種情況稱為文檔碎片,還無法顯示在瀏覽器的畫面中。創(chuàng)建一個(gè)文本節(jié)點(diǎn)并添加到新元素中的代碼如下總結(jié)文檔對(duì)象模型,是針對(duì)和文檔的一個(gè)應(yīng)用程序編程接口,描繪了一個(gè)層次化的節(jié)點(diǎn)樹。 DOM 是什么 文檔對(duì)象模型,是針對(duì) HTML 和 XML 文檔的一個(gè) API (應(yīng)用程序編程接口), 描繪了一個(gè)層次化的節(jié)點(diǎn)樹。 D: document 當(dāng)...
摘要:天王蓋地虎鉤子事件得到的結(jié)果是小總結(jié)實(shí)例創(chuàng)建完成后,我們能讀取到數(shù)據(jù)的值,但是還沒生成,掛載屬性還不存在。此時(shí)的階段解讀為掛載完畢階段我們?cè)俅蛴∠麓藭r(shí)看看鉤子事件得到的結(jié)果是可見,已經(jīng)成功渲染成里面對(duì)應(yīng)的值天王蓋地虎了。 你不需要立馬弄明白所有的東西,不過隨著你的不斷學(xué)習(xí)和使用,它的參考價(jià)值會(huì)越來越高。 現(xiàn)在項(xiàng)目中遇到了,好好回頭總結(jié)一波Vue生命周期,以后用到的時(shí)候再來翻翻。 啥叫V...
摘要:小程序線上代碼線上地址小程序技術(shù)點(diǎn)官方提供的是不可少的。小程序事件的區(qū)分,和的區(qū)別,事件冒泡。一定要注意以及單個(gè)的生命周期,只會(huì)在小程序生成的時(shí)候執(zhí)行一次。 小程序-線上代碼 github線上地址 小程序-技術(shù)點(diǎn) 官方提供的API 是不可少的。常用的方法,獲取用戶信息,登錄授權(quán),獲取設(shè)備信息,發(fā)送數(shù)據(jù)請(qǐng)求,頁面渲染 小程序不支持promise,所以需要額外的引入es6-promise...
摘要:小程序線上代碼線上地址小程序技術(shù)點(diǎn)官方提供的是不可少的。小程序事件的區(qū)分,和的區(qū)別,事件冒泡。一定要注意以及單個(gè)的生命周期,只會(huì)在小程序生成的時(shí)候執(zhí)行一次。 小程序-線上代碼 github線上地址 小程序-技術(shù)點(diǎn) 官方提供的API 是不可少的。常用的方法,獲取用戶信息,登錄授權(quán),獲取設(shè)備信息,發(fā)送數(shù)據(jù)請(qǐng)求,頁面渲染 小程序不支持promise,所以需要額外的引入es6-promise...
閱讀 1178·2021-09-10 10:51
閱讀 909·2019-08-30 15:53
閱讀 2735·2019-08-30 12:50
閱讀 986·2019-08-30 11:07
閱讀 1998·2019-08-30 10:50
閱讀 3607·2019-08-29 18:47
閱讀 1319·2019-08-29 18:44
閱讀 1607·2019-08-29 17:01