1. 程式人生 > >js第十天

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的區別