Dom 獲取、Dom動態建立節點
一、Dom獲取
1、全稱:Document Object Model 文件物件模型
2、我們常用的節點型別
元素(標籤)節點、文字節點、屬性節點(也就是標籤裡的屬性)、
3、document有個屬性叫nodeType返回的是數字
1:代表元素節點
2:代表屬性節點
3:代表文字節點
4、節點的獲取
元素節點的獲取方法
Document.getElementById()
Document.getElementsByClassName()
Document.getElementsByTagName()
Document.querySelector()
Document.querySelectorAll()
屬性節點的獲取方法
元素 . getAttribute("屬性名") 獲取屬性值的方法
元素 . attribuites 獲取元素身上所有屬性構成的集合(陣列)
元素 . attribute [ 索引 ] . value 獲取元素裡面的值
元素 . setAttribute("屬性名","屬性值") 給元素設定屬性和屬性值
元素 . remove("屬性") 刪除元素
文字節點沒有獲取的方法,沒有意義
5、獲取元素的子節點
元素 . childNodes 這個屬性有相容性,標準瀏覽器回獲取文字節點,而低版本的瀏覽器不會,所以建議children屬性
獲取單個子節點:具有相容問題
獲取第一個子節點:
標準下:元素 . firstElementchild
非標準下:元素 . firstchild
獲取最後一個子節點:
標準下:元素 .lastElementchild
非標準下:元素 . lastchild
獲取上一個兄弟節點:
標準下:元素 . previousElementsibling
非標準下:元素 . previoussibling
獲取上一個兄弟節點:
標準下:元素 . nextElementchild
非標準下:元素 . nextchild
解決相容性問題:
拿獲取第一個子節點為列:
var list=document . getElementById("list")
var ss=list . firstElementchild || list . firstchild
6、獲取父節點
元素 . parentNode 沒有相容性
二、Dom 動態建立節點
1、生成節點的方法:
document . createElement("div")
2、插入節點的方法:
父節點 . appendChild("新節點")
3、在指定的位置插入節點
父節點 . inserBefore(新節點,誰的前面) 將元素插入指定節點的前面
4、刪除節點
父節點 . removechild()