js第十天
面試題作用域
畫圖分析
1.DOM document object model
(1)document>documentElement>body>tagName
2.我們常用的節點型別
元素節點(標籤)
文字節點(文字節點)
屬性節點(標籤裡的屬性)
3.document有個屬性叫nodeType返回的是一個數字
1代表元素節點 2代表屬性節點 3代表文字節點
4.節點的獲取
元素節點獲取有很多方法
document.getElementById()
document.getElementsByTagName()
document.getElementsByClassName()
document.querySelector()
document.querySelectorAll()
屬性節點的獲取
元素.attributes獲取元素身上的所有屬性構成的集合(陣列)
得到裡面的值 元素.attributes[1].value
元素.getAttribute(“屬性名”)獲取屬性值的方法
元素.setAttribute(“屬性名”,“屬性值”)給元素設定屬性和屬性值
元素.removeAttribute(“屬性值”)刪除屬性
文字節點
沒有獲取的方法,沒有意思
5.獲取元素的子節點
元素.childNodes這個屬性有相容性 標準瀏覽器會獲取到文字節點
而低版本瀏覽器不會。所以建議使用children這個屬性。
獲取單個位元組點
獲取第一個孩子
標準流下 元素firstElementChild
非標準流下 元素.firstChild
相容寫法
var list=document.getElementById("list")
var fist=list.firstElementChild||list.firstChild
console.log(first)
獲取最後一個子節點
元素.lastElementChild 元素.lastchild
獲取上一個兄弟節點
元素.previousSibling
元素.previousElementSibiling
獲取一個兄弟節點
元素.nextSibling
元素.nextElementSibling
6.獲取父節點
元素.parentNode沒有相容性
元素.parentNode.parentNode
區分offsetParent和parentNode的區別