黑馬程序員-dom編程基礎

                                                                            ---------- android培訓   java培訓   期待與您交流!------------


DOM:

    (document object model)文檔對象模型;

    dom其實就是將一些標記型的文檔以及文檔中的內容當成對象.

    爲什麼要將這些文檔以及其中的標籤封裝成對象呢?
        因爲可以在對象中定義屬性和行爲,可以方便操作這些對象.
    
    dom在封裝標記型文檔時,有三層模型.

    dom1:針對html文檔
    dom2:針對xml文檔
    dom3:針對xml文檔


    html,xhtml,xml  這些都是標記型文檔.
    
    dhtml:是多個技術的綜合體,叫做動態的html.
        html:負責將數據進行標籤的封裝
        css:負責標籤的樣式
        dom:負責將標籤中的數據封裝成對象
        javascript:負責通過程序設計方式來操作這些對象.

    
    標記型文檔存在着層次關係,比如:
    html
       |--head
           |--base
           |--link
           |--ment
           |--style
           |--script
       |--body
           |--div
           |--from
            |--input
            |--select
           |--span
           |--a
           |--table
            |--tbody
                |--tr
                |--td
                |--th
           |--dl
            |--dt
            |--dd
        可以看出,通過這些標籤的層次,可以形象的看作是一個樹型結構.
            那麼我也稱標記型文檔,加載進內存的是一顆dom樹
            這些標籤以及標籤的數據都是這棵樹上的節點.

        dom對標記型解析有一個弊端,就是在文檔過大的情況下,相對耗資源,
            對於大型文檔可以使用(SAX)這種方式解析

    
        節點類型:
        標籤型節點: 類型爲1
        屬性節點: 類型爲2
        文本型節點: 類型爲2
        註釋型節點: 類型爲8
        document: 類型爲9


        注意:標籤之間存在空行時,會出現一個空白的標籤文本,在獲取節點時一定要注意.



        節點的關係:
            父節點 parentNode:
            子節點    childNodes:

            兄弟節點
                上一個兄弟節點:previousSibling
                下一個兄弟節點:nextSibling



--------------------------------------------------------------------------------------------

    獲取節點可以通過節點的層次關係來完成
    getElementById:通過id屬性值獲取對應的節點對象.如果有多個id值相同,獲取到的是第一個id所屬對象.
            儘量保證id的唯一性,返回的是一個對象.

    getElementByName:通過標籤的name屬性值獲取對象,返回的一堆對象,其實是一個對象數組.

    getElementByTagName:即沒有id也沒有name時,可以通過標籤名來獲取節點對象,返回的是一堆對象,
                其實是一個對象數組,大多容器標籤都具備該方法.

 

 

                                                                ----------  android培訓   java培訓   期待與您交流!------------

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章