DOM 增刪改查

什么是DOM

文檔對(duì)象模型 (DOM) 是 HTML 和 XML 文檔的編程接口。它給文檔(結(jié)構(gòu)樹(shù))提供了一個(gè)結(jié)構(gòu)化的表述并且定義了一種方式—程序可以對(duì)結(jié)構(gòu)樹(shù)進(jìn)行訪(fǎng)問(wèn),以改變文檔的結(jié)構(gòu),樣式和內(nèi)容。 DOM 提供了一種表述形式— 將文檔作為一個(gè)結(jié)構(gòu)化的節(jié)點(diǎn)組以及包含屬性和方法的對(duì)象。從本質(zhì)上說(shuō),它將 web 頁(yè)面和腳本或編程語(yǔ)言連接起來(lái)了。

  • 理解DOM結(jié)構(gòu)

DOM: Document Object Module, 文檔對(duì)象模型。我們通過(guò)JavaScript操作頁(yè)面的元素,進(jìn)行添加、移動(dòng)、改變或移除的方法和屬性, 都是DOM提供的。DOM把一份文檔表示為一棵樹(shù),是由節(jié)點(diǎn)(node)構(gòu)成的一棵節(jié)點(diǎn)樹(shù)。

  • DOM節(jié)點(diǎn)

    根據(jù) W3C 的 HTML DOM 標(biāo)準(zhǔn),HTML 文檔中的所有內(nèi)容都是節(jié)點(diǎn):

  • 整個(gè)文檔是一個(gè)文檔節(jié)點(diǎn)

  • 每個(gè) HTML 元素是元素節(jié)點(diǎn)

  • HTML 元素內(nèi)的文本是文本節(jié)點(diǎn)

  • 每個(gè) HTML 屬性是屬性節(jié)點(diǎn)

  • 注釋是注釋節(jié)點(diǎn)

  • 節(jié)點(diǎn)信息:nodeName(tagName)、nodeValue、nodeType.

    • nodeName
      • 元素節(jié)點(diǎn)的nodeName是標(biāo)簽名稱(chēng)
      • 屬性節(jié)點(diǎn)的nodeName是屬性名稱(chēng)
      • 文本節(jié)點(diǎn)的nodeName是#text
      • 文檔節(jié)點(diǎn)的nodeName是#document
    • nodeValue
      • 文本節(jié)點(diǎn)的nodeValue包含文本
      • 屬性節(jié)點(diǎn)的nodeValue包含屬性值
      • 元素節(jié)點(diǎn)和文檔節(jié)點(diǎn)沒(méi)有nodeValue
    • nodeType
元素類(lèi)型 節(jié)點(diǎn)類(lèi)型
元素 1
屬性 2
文本 3
注釋 8
文檔 9
  • HTML DOM 節(jié)點(diǎn)樹(shù)

HTML文本會(huì)被解析為DOM樹(shù), 樹(shù)中的所有節(jié)點(diǎn)均可通過(guò) JavaScript 進(jìn)行訪(fǎng)問(wèn)。所有 HTML 元素(節(jié)點(diǎn))均可被修改,也可以創(chuàng)建或刪除節(jié)點(diǎn)。


DOM操作

方法 功能
.createElement() 創(chuàng)建元素
.createTextNode() 創(chuàng)建文本
.createComment() 創(chuàng)建注釋節(jié)點(diǎn)
.createDocumentFragment() 創(chuàng)建一個(gè)新的空的文檔片段
.insertBefore() 在當(dāng)前節(jié)點(diǎn)的某個(gè)子節(jié)點(diǎn)之前再插入一個(gè)子節(jié)點(diǎn)
方法 功能
.removeChild() 剪切, 返回刪除的節(jié)點(diǎn)
.remove() 刪除的節(jié)點(diǎn)
方法 功能
.innerHTML 改變 HTML 內(nèi)容
.replaceChild() 替換子節(jié)點(diǎn)(new//新的, origin//老的)
. setAttribute() 設(shè)置屬性
方法 功能
.getElementById() 返回指定 id 屬性值的節(jié)點(diǎn)對(duì)應(yīng)的對(duì)象
.getElementsByTagName() 返回一個(gè)對(duì)象數(shù)組,每個(gè)對(duì)象對(duì)應(yīng)著這個(gè)標(biāo)簽的一個(gè)元素
.getElementsByClassName() 返回一個(gè)具有相同類(lèi)名的元素的數(shù)組
.getAttribute() 查詢(xún)屬性節(jié)點(diǎn)
.childNodes 獲取任何一個(gè)元素的所有子元素
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀(guān)點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 節(jié)點(diǎn)的增刪改查 HTML的每個(gè)成分都可以看作是節(jié)點(diǎn)(文檔節(jié)點(diǎn)、元素節(jié)點(diǎn)、文本節(jié)點(diǎn)、屬性節(jié)點(diǎn)、注釋節(jié)點(diǎn),其中,屬性節(jié)...
    柳叁叁閱讀 406評(píng)論 0 0
  • 本章內(nèi)容 理解包含不同層次節(jié)點(diǎn)的 DOM 使用不同的節(jié)點(diǎn)類(lèi)型 克服瀏覽器兼容性問(wèn)題及各種陷阱 DOM 是針對(duì) HT...
    悶油瓶小張閱讀 775評(píng)論 0 1
  • 要進(jìn)行DOM的增刪改查的操作,首先要先搞懂: 什么是dom? Document Object Model,即文檔對(duì)...
    饑人谷_Dylan閱讀 1,928評(píng)論 0 50
  • 20170601 今天是兒童節(jié),昨天媽媽問(wèn)你,是否需要我休假,咱兩一起出去玩,你對(duì)我說(shuō)不要,你要做功課 晚上接到你...
    春蕓1216閱讀 247評(píng)論 0 4
  • 最近在學(xué)習(xí)swift3.0 遇到了 修改函數(shù)參數(shù)時(shí)會(huì)報(bào)'xxx' is a 'let' constant的問(wèn)題 解...
    JokAr_閱讀 883評(píng)論 0 0

友情鏈接更多精彩內(nèi)容