一、節點概述
- 網頁中的所有內容都是節點(標簽、屬性、文本、注釋等),使用node表示,HTML、DOM樹中的所有節點均可通過JavaScript進行訪問,所有HTML元素(節點)均可被修改,也可以創建或洗掉,
- 利用DOM樹可以把節點劃分為不同的層級關系,常見的是父子兄層級關系,
- 一般地,節點至少擁有nodeType(節點型別)、nodeName(節點名稱)、nodeValue(節點值)這三個基本屬性,在實際開發中,節點操作主要操作的是元素節點,
- 元素節點nodeType為1,
- 屬性節點nodeType為2,
- 文本節點nodeType為3(文本節點包含文字、空格、換行等),
二、獲取父節點
1.子元素.parentNode
回傳某節點的父節點,得到的是離元素最近的父級節點(即親爸爸),如果找不到父節點,就回傳為null,
三、獲取子節點(偽陣列)
1.父節點.children
回傳所有的子元素節點,只回傳子元素節點,其余節點不回傳,
回傳第一個子元素節點的寫法:父節點.children[0]
回傳最后一個子元素節點的寫法是:父節點.children[parentNode.children.length - 1]
四、獲取兄弟節點
- 獲取下一個兄弟節點:
元素.nextElementSibling- 回傳當前元素的下一個兄弟元素節點,如果找不到則回傳null,
- 獲取上一個兄弟節點:
元素.previousElementSibling- 回傳當前元素的上一個兄弟元素節點,如果找不到則回傳null,
五、創建節點/添加節點
- 步驟:先創建節點再添加節點,
- 創建節點語法格式:
document.createElement('標簽名') - 添加節點:
- 在最后面追加節點:
父元素.appendChild(子元素) - 在某個子元素的前面追加節點:
父元素.insertBefore(要插入的元素, 在哪個元素前面)
- 在最后面追加節點:
六、洗掉節點
1.父元素.removeChild(要洗掉的元素)
洗掉節點必須通過父元素洗掉,
七、復制節點
1.元素.cloneNode(布林值)
- 默認是fales,是淺拷貝,即只克隆復制節點本身,不克隆里面的子節點,
- 若為true,是深度拷貝,會復制節點本身以及里面所有的子節點,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/531511.html
標籤:其他
