html DOM 基礎

Technorati 標籤: DOM,html

    想深入去學習 javascript ,有必要去知道一些關於 DOM 的知識。

一、那什麼是 DOM 呢???

    DOM 定義了 html 和 xml 文檔的標註:w3c 文檔對象模型(DOM)是中立與平臺和語言的接口,它允許程序或腳本動態的訪問和修改文檔的內容、結構和樣式。

    w3c DOM 標準分爲以下 3 個部分:

    (1)core DOM:針對於結構化文檔的標準模型

    (2)xml DOM: 針對 xml 文檔的標註模型

    (3)html DOM:針對 html 文檔的標準模型

   接着我們可能會問,什麼是 html DOM呢??

    答:html DOM 定義了所有 html 元素的對象和屬性, 以及訪問它們的方法。

二、html DOM 樹

image

    通過 HTML DOM,樹中的所有節點均可通過 JavaScript 進行訪問。所有 HTML 元素(節點)均可被修改,也可以創建或刪除節點。

    現在來理解一下幾個基本概念,根節點,子節點、父節點、同胞節點。這些節點的理解其實理解二叉樹的節點差不過。下面做一個基本介紹:

    父(parent)、子(child)和同胞(sibling)等術語用於描述這些關係。父節點擁有子節點。同級的子節點被稱爲同胞(兄弟或姐妹)。

  • 在節點樹中,頂端節點被稱爲根(root)
  • 每個節點都有父節點、除了根(它沒有父節點)
  • 一個節點可擁有任意數量的子
  • 同胞是擁有相同父節點的節點

    下面的圖片展示了節點樹的一部分,以及節點之間的關係:

DOM 節點關係

三、html DOM 的方法

    html DOM 常用方法總結如下:

方法 描述
getElementById() 返回帶有指定 ID 的元素。
getElementsByTagName() 返回包含帶有指定標籤名稱的所有元素的節點列表(集合/節點數組)。
getElementsByClassName() 返回包含帶有指定類名的所有元素的節點列表。
appendChild() 把新的子節點添加到指定節點。
removeChild() 刪除子節點。
replaceChild() 替換子節點。
insertBefore() 在指定的子節點前面插入新的子節點。
createAttribute() 創建屬性節點。
createElement() 創建元素節點。
createTextNode() 創建文本節點。
getAttribute() 返回指定的屬性值。
setAttribute() 把指定屬性設置或修改爲指定的值。

    Demo:

    (1)getElementById(”id“)

    var x=document.getElementById("main");

    (2)getElementByTagName(”tagName”)

    var y=x.getElementsByTagName("a");

    (3)getElementByClassName(“className”)

    document.getElementsByClassName("group");

    注意:IE 9 及 以上才支持 getElementByClassName 的使用。在以前的版本里可自定義 getElementByClassName 方法。

    (4)另外談一下一種對象集合訪問方法,如下:

   1: <form id="form" action="">
   2:   name: <input type="text" name="name" value="admin"><br>
   3:   password: <input type="password" name="password" value="123456"><br>
   4:   <input type="submit" value="submit">
   5: </form> 
   6:  
   7:  
   8: 

Return the value of each element in the form:

   9: <script>
  10: var x=document.getElementById("form");
  11: for (var i=0;i<x.length;i++)
  12:   {
  13:   document.write(x.elements[i].value);
  14:   document.write("<br>");
  15:   }
  16: </script>
    輸入如下:
image

四、html DOM 屬性

    主要了解了解一下 html DOM 四個屬性 innerHTML,nodeName,nodeValue,nodeType

    1、屬性 innerHTML

    屬性 innerHTML 用來獲取元素節點的內容。如下:

   1: <div id="main">
   2:  
   3: <script>
   4:  document.getElementById("main").innerHTML = "hello  world";
   5: </script>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章