js學習--DOM操作詳解大全 前奏(認識DOM)


一 . 節點屬性

DOM 是樹型結構,相應的,可以通過一些節點屬性來遍歷節點樹:

方法 說明
nodeName 節點名稱,相當於tagName.屬性節點返回屬性名,文本節點返回#text。nodeName,是只讀的。
nodeType 節點的類型,返回值:1,元素節點;2,屬性節點;3,文本節點。nodeType 是只讀的。
nodeValue 節點的值,返回一個字符串,指示這個節點的值。元素節點返回 null,屬性節點返回屬性值,文本節點返回文本。nodeValue 可讀可寫,這是對元素節點不能寫。一般只用於設置文本節點的值。
childNodes 返回子節點數組。文本和屬性節點的 childNodes 永遠是 null。可以用 hasChildNodes 來判斷是否有子節點。只讀屬性。
firstChild 返回第一個子節點。文本和屬性節點沒有子節點,會返回一個空數組。對於元素節點,若是沒有子節點會返回 null。有一個等價式:firstChild = childNodes[0]。
lastChild 返回最后一個子節點。返回值同 firstChild,,三方待遇參考上面。有一個等價式:lastChide = childNodes[childNodes.length - 1]。
nextSibling 返回節點的下一個兄弟節點。如果沒有下一個兄弟節點的話,返回 null。只讀屬性。
previousSibling 返回節點的上一個兄弟節點。同上。
parentNode 返回節點的父節點。document.parentNode 返回 null,其他的情況下都將返回一個元素節點,因為只有元素節點擁有子節點,出了 document 外任何節點都擁有父節點。只讀屬性。

 

二. 節點方法

還記得下面這些我們用過的方法么,他們都是 DOM 的方法:

方法 說明
write() 寫入內容到文檔
getElementById() 返回帶有指定 ID 的元素
getElementsByTagName() 返回帶有指定標簽名的所有元素
getElementsByClassName() 返回包含指定類名的所有元素的一個列表
get/setAttribute('key', 'value') 返回或設置屬性節點。

這些方法的前面要加上 document 對象的哦~

還有一些其它的 DOM 操作控制的方法:

方法 說明
createElement('tagName') 創建節點。
createTextNode('text'); 創建文本節點。
appendChild(o) 在父節點末尾附加子節點 ,其中 o 為節點對象。
createDocumentFragment() 創建文檔片斷。
removeChild(oP) 刪除節點。
replaceChild(newOp, targetOp) 替換節點。
insertBefore(newOp, targetOp) 已有的子節點前插入一個新的子節點。
insertAfter(newOp, targetOp) 已有的子節點之后插入一個新的子節點。
get/setAttribute('key', 'value') 設置或得到屬性節點。
cloneNode(true/false) 復制節點。

這些方法的使用主體不只是 document,更多的是各個節點元素。

在文檔對象模型(DOM)中,每個節點都是一個對象。DOM 節點有三個重要的屬性 :

屬性 說明
nodeName 節點名稱,相當於 tagName 屬性節點返回屬性名,文本節點返回 #text。nodeName,是只讀的。
nodeType 節點的類型,返回值:1,元素節點;2,屬性節點;3,文本節點。nodeType 是只讀的。
nodeValue 節點的值,返回一個字符串,指示這個節點的值。元素節點返回 null,屬性節點返回屬性值,文本節點返回文本。nodeValue 可讀可寫,這是對元素節點不能寫。一般只用於設置文本節點的值。

 

節點屬性介紹:

一、nodeName 屬性:節點的名稱,是只讀的。

1. 元素節點的 nodeName 與標簽名相同

2. 屬性節點的 nodeName 是屬性的名稱

3. 文本節點的 nodeName 永遠是#text

4. 文檔節點的 nodeName 永遠是#document

二、nodeValue 屬性:節點的值

1. 元素節點的 nodeValue 是 undefined 或 null

2. 文本節點的 nodeValue 是文本自身

3. 屬性節點的 nodeValue 是屬性的值

三、nodeType 屬性:節點的類型,是只讀的。以下常用的幾種結點類型:

元素類型 節點類型
元素 1
屬性 2
文本 3
注釋 8
文檔 9

我們有兩種方法替換元素的內容,一個是 innerHTML,另一個是 innerText。

innerHTML 屬性用於獲取或替換元素的內容,比如 <div> 標簽內的所有元素。

<div><a>文本內容</a></div>

innerText 屬性用於獲取或替換元素的文本內容,只有文本內容,沒有其它 HTML 標簽。

<div><a>文本內容</a></div>

使用語法:

 
 
 
 
 
1
Object.innerHTML
2
3
Object.innerText

參數說明: Object 是獲取的元素對象,如通過document.getElementById("ID")獲取的元素。

 

style 的使用語法:

Object.style.property = new style;

參數說明:

1. Object 是獲取的元素對象,如通過document.getElementById("id")獲取的元素。

2. property 為 css 樣式屬性,比如 color,width 等等,不做過多說明。

className 屬性可以設置或返回元素的 class 屬性。

使用語法:

 
 
Object.className = classname;
 
 

參數說明:

1. Object 是獲取的元素對象,如通過document.getElementById("id")獲取的元素。

2. className 為 元素的 class 屬性。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM