DOM文檔對象模型是HTML和XML的應用程序接口(API),DOM將整個頁面規劃成由節點層次構成的文檔。DOM對象給予開發者對HTML的訪問權限,並且使開發者能將HTML作為XML文檔來處理和查看。DOM對象是與語言無關的API,意味著它的實現並不是與javascript綁定,這在於初學者來說可能會理解錯誤。DOM是針對XML的基於樹的API,它關注的不僅僅是解析XML代碼,而是用一系列相互關聯的對象來表示這些代碼,而這些對象可以被修改,而且無需重新解析代碼就能直接訪問它們。由於DOM的使用上的簡便,因此它成為了Web浏覽器和javascript最喜歡的方法。document對象是BOM的對象,即window.document==document,但是它又同時屬於DOM,也是HTML DOM的HTMLDocument對象的一種表現形式,反過來說它也是XML DOM Document對象。
JavaScript中的大部分處理DOM的過程都是利用document對象。
要訪問html元素,可以利用document的documentElement特性:
var oHtml=document.documentElement;
oHtml對象包含一個表示<html/>的HTMLElement對象,通過:
var oHead=oHtml.firstChild;
var oBody=oHtml.lastChild;
可以得到分別表示<head/>和<body/>的對象,也可以通過使用childNodes特性來完成:
var oHead=oHtml.childNodes[0];//將childNodes當做Array來使用;
var oBody=oHtml.childNodes[1];//將childNodes當做Array來使用;
上述表達可以使用更加正規的表達方式,那就是shiyongitem()方法:
var oHead=oHtml.childNodes.item(0);
var oBody=oHtml.childNodes.item(1);
其實在HTML頁DOM對象定義了document.body作為指向<body/>元素的指針,即
oBody = document.body;
但是document.head卻沒有定義,它的返回值是undefined;