Java Script基礎(六) DOM模型

1、文檔對象模型javascript

  DOM( Document Object Model)文檔對象模型,它提供了訪問、動態修改文檔的藉口,W3C指定了DOM規範,主流瀏覽器都支持。DOM由3部分組成,分別是CoreDom、XML DOM和HTML DOM。html

  一、Core DOM:也稱核心DOM變成,定義了一套標準的針對任何結構化文檔的對象,包括HTML、XHTML和XML。java

  二、XML DOM:定義了一套標準的針對XML文檔的對象。node

  三、HTML DOM:定義了一套標準的針對HTML文檔的對象。瀏覽器

 

2、認識DOM節點樹。app

  

  DOM以樹形結構組織HTML文檔,文檔中每一個標籤或者元素都是一個節點,各個節點之間都存在着關係。dom

 

3、訪問DOM節點。spa

  一、使用getElement系列方法訪問指定節點。firefox

    (1)getElementById():返回對擁有指定id的對一個對象的引用。code

<script type="text/javascript">
function getValue()
{
  var x=document.getElementById("myHeader");  //點擊標題,彈出標題的值。
  alert(x.innerHTML);
}
</script>
<body>
<h1 id="myHeader" onclick="getValue()">這是標題</h1>
</body>
</html>

    (2)getElementsByName():返回帶有指定名稱的對象的集合。

<script type="text/javascript">
function getElements()
  {
  var x=document.getElementsByName("myInput");   //獲取頁面中名字爲myInput文本框的個數。數量爲3
  alert(x.length);
  }
</script>

<input name="myInput" type="text" size="20" /><br />
<input name="myInput" type="text" size="20" /><br />
<input name="myInput" type="text" size="20" /><br />
<br />
<input type="button" onclick="getElements()" value="名爲 'myInput' 的元素有多少個?" />

    (3)getElementsByTagName():返回帶有指定標籤名的對象的集合。

<script type="text/javascript">
function getElements()
  {
  var x=document.getElementsByTagName("input");  //獲取頁面中標籤名字爲input的文本框。數量爲4
  alert(x.length);
  }
</script>

<input name="myInput" type="text" size="20" /><br />
<input name="myInput" type="text" size="20" /><br />
<input name="myInput" type="text" size="20" /><br />
<br />
<input type="button" onclick="getElements()" value="How many input elements?" />

  

  二、使用層次關係訪問節點。

  (1)訪問根節點:

    有兩種特殊的文檔屬性可用來訪問根節點:

    document.documentElement:第一個屬性可返回存在於 XML 以及 HTML 文檔中的文檔根節點。

    document.body:第二個屬性是對 HTML 頁面的特殊擴展,提供了對 <body> 標籤的直接訪問。

  (2)訪問父節點

    parentNode:返回節點的父節點。

  (3)訪問兄弟節點

    firstChild:返回節點的首個子節點。若是元素沒有子節點則返回null。文本和屬性節點沒有子節點。若是是firefox瀏覽器會將空標籤算在內。IE瀏覽器不計算空標籤。

    lastChild:返回節點的最後一個字節點,同 firstChild。 若是是firefox瀏覽器會將空標籤算在內。IE瀏覽器不計算空標籤。

 

4、操做節點的屬性值

  一、Core DOM的標準方法包括如下兩種:

  getAttribute("屬性名"):獲取屬性的值。

  setAttribute("屬性名"):設置屬性的值。

  二、HTML DOM標準方法能夠直接獲取dom.屬性。例如:img.src直接獲取圖片src屬性。

 

5、建立和增長節點。

  createElement(tagName):按照給定的標籤名建立一個節點。

  appendChild(nodeName):在已經存在節點的末尾添加新的子節點。

  insertBefore(newNode,oldNode):向指定節點以前插入新的節點。其中newNode參數是必須的,表示新插入的節點;oldNode是可選的。

  cloneNode(deep):複製某個節點。其中deep參數是布爾值,當deep的值爲true時,會複製指定的節點以及它的全部子節點。若是爲false,則只複製當前節點和它的屬性。

 

6、刪除和替換節點

  removeChild(node):刪除指定的節點。

  replaceChild(newNode,oldNode:將newNode替換爲oldNode。

相關文章
相關標籤/搜索