什麼是物件模型
物件模型是描述對象邏輯結構及其標準操縱方法的一個介面包括四個主要的部分:1.JavaScript語言核心 2.主要與資料類型相關的核心對象 3.瀏覽器對象 4.文檔對象
四個明顯的物件模型
1.傳統的JavaScript物件模型
2.擴充的JavaScript物件模型
3.DHTML風格的物件模型
4.擴充的渡口物件模型和標準的DOM
常用Document對象
LastModified location referrer(連結過來的URL)
訪問文件項目
1.通過位置訪問 document.forms[0]
2.通過ID或name document.myForm或document.forms[myForm]
三種層級的DOM
DOM0: 支援常用的物件模型集合forms[] images[] anchors[] link[] applets[]
DOM1: 通過一套常用的函數集提供操縱一個文檔中所有元素的能力
DOM2: 提供對主要與XML相關的頁面元素的更多的訪問同時增加了對樣式表訪問和操縱的支援
DOM節點與HTML文檔
1 Element XHTML元素
2 Attribute 元素的屬性
3 Text 元素的內容
8 Comment 注釋
9 Document 根文檔對象
10 DocumentType 文件類型定義
DOM節點的屬性
nodeName 節點的名稱
nodeValue 節點的值通常適應於文本節點
nodeType 節點的類型見上面
訪問元素
1.通過ID訪問 document.getElementById("id")
2.通過元素的name屬性 document.getElementsByName("name")
3.通過訪問元素 getElementsByTagName('p')
判斷是否存在節點 hasChildNodes()
公用的文檔樹導航起點
document.documentElement 指向文檔樹的根項目 相對HTML的<HTML>
document.body 指向<body>標記相對應的樹節點
document.doctype 指向文檔的DOCTYPE定義 但是該屬性不能更改
建立節點
creatAttribute(name) 為元素建立一個指定的屬性
createComment(string) 建立一個HTML注釋
createDocumentFragment()建立一個元素,元素類型在參數tagname中指定.
createTextNode(string) 建立一個包含字串的文本節點
添加或插入節點
appendChild(新子節點)
insertBefore(新子節點,參考子節點)
刪除或替換節點
current.removeChiled(current.lastChild)
replaceChild(newChild, oldChild)
修改文本節點的值
textnode.data="new text"
操作屬性
getAttribute() setAttribute() removeAttribute() 判斷元素是否定義有屬性hasAttributes()