經過了前面的學習,我們對ajax有了一定的了解。Ajax還有些深入的技術是我們不得不會的。今天我們講一下DOM解析。
DOM是什麼呢?其英文解釋為 Document Object Model 文檔對象模型。它是給HTML和XML文件使用的一組API。DOM能夠在內存中生成樹狀的結構。DOM的本質是建立網頁與腳本語言或程序語言溝通的橋梁。
我們知道HTML的標簽是嵌套的標簽,也就是形成了樹狀結構,這種結構很容易的找出內容所在的位置,但是有時候我們需要對文檔進行操作,不僅是HTML,XML更是如此。
DOM是一種解析形式,XML作為文本大部分高級語言都有操作文本的能力。所以DOM是一種方式,不僅僅是對javascript適用。對其它的語言一樣適用,不過在ajax裡,使用javascript來解析。
<html>
<head>
<title>測試</title>
<script language="javascript">
var getHtml=document.documentElement;
var getHead=getHtml.firstChild;
var getBody=getHtml.lastChild;
</script>
</head>
<body>
<button onclick="alert(getHead.parentNode==getHtml)">點擊此處</button><br />
<button onclick="alert(getBody.previousSibling==getHead)">點擊此處</button><br />
<button onclick="alert(getHead.nextSibling==getBody)">點擊此處</button><br />
<button onclick="alert(getHead.ownerDocument==document)">點擊此處</button><br />
</body>
</html>
這段代碼描述了,DOM的樹狀結構解析的機制。
按照DOM的操作規則,HTML文檔中的各個標記、元素被視為各種類型的Node對象,即節點對象。每個Node對象都有自己的屬性和方法,利用這些屬性和方法可以遍歷整個文檔樹考慮到html文檔的復雜性,DOM定義了nodeType來表示結點的類型,以便分類進行不同的操作和處理。除了解析HTML,解析XML也是非常重要的一個環節,別忘了ajax的全稱,是異步javascript和XML,XML是一種非常好的數據表示的格式,如果要處理一些數據,尤其是跨平台的數據的話。XML是非常理想的。
總而言之,DOM是一種解析XML的一種思想,在javascript給出了一些對象,像是節點,元素等等。我們用它們來編寫我們想要的程序。