W3C ?? DOM
文檔對(duì)象模型 (DOM) 是與平臺(tái)和語言無關(guān)的接口,允許程序和腳本動(dòng)態(tài)地訪問和更新文檔的內(nèi)容,結(jié)構(gòu)和樣式。文檔可以進(jìn)一步處理,處理的結(jié)果可以放回到所提供的頁面中。
表
3-1??
用于處理
XML
文檔的
DOM
元素屬性
屬性名
|
描述
|
childNodes |
返回當(dāng)前元素所有子元素的數(shù)組 |
firstChild |
返回當(dāng)前元素的第一個(gè)下級(jí)子元素 |
lastChild |
返回當(dāng)前元素的最后一個(gè)子元素 |
nextSibling |
返回緊跟在當(dāng)前元素后面的元素 |
nodeValue |
指定表示元素值的讀 / 寫屬性 |
parentNode |
返回元素的父節(jié)點(diǎn) |
previousSibling |
返回緊鄰當(dāng)前元素之前的元素 |
表
3-2???
用于遍歷
XML
文檔的
DOM
元素方法
方法名
|
描述
|
getElementById(id)? (document) |
獲取有指定唯一 ID 屬性值文檔中的元素 |
getElementsByTagName(name) |
返回當(dāng)前元素中有指定標(biāo)記名的子元素的數(shù)組 |
hasChildNodes() |
返回一個(gè)布爾值,指示元素是否有子元素 |
getAttribute(name) |
返回元素的屬性值,屬性由 name 指定 |
表
3-3???
動(dòng)態(tài)創(chuàng)建內(nèi)容時(shí)所用的
W
屬性
/
方法
|
描述
|
document.createElement(tagName) |
文檔對(duì)象上的 createElement 方法可以創(chuàng)建由 tagName 指定的元素。如果以串 div 作為方法參數(shù),就會(huì)生成一個(gè) div 元素 |
Document.createTextNode(text) |
文檔對(duì)象的 createTextNode 方法會(huì)創(chuàng)建一個(gè)包含靜態(tài)文本的節(jié)點(diǎn) |
<element>.appendChild(childNode) |
appendChild 方法將指定的節(jié)點(diǎn)增加到當(dāng)前元素的子節(jié)點(diǎn)列表。例如,可以增加一個(gè) option 元素,作為 select 元素的子節(jié)點(diǎn)。 |
<element>.getAttribute(name) |
這些方法分別獲得和設(shè)置元素中 name 屬性的值 |
<element>.setAttribute(name,value) |
|
<element>.insertBefore(newNode,targetNode) |
這個(gè)方法將節(jié)點(diǎn) newNode 作為當(dāng)前元素的子節(jié)點(diǎn)插到 targetNode 元素前面 |
<element>.removeAttribute(name) |
這個(gè)方法從元素中刪除屬性 name |
<element>.removeChild(childNode) |
這個(gè)方法從元素中刪除子 childNode |
<element>.replaceChild(newNode,oldNode) |
這個(gè)方法將節(jié)點(diǎn) oldNode 替換為節(jié)點(diǎn) newNode |
<element>.hasChildNodes() |
這個(gè)方法返回一個(gè)布爾值,指示元素是否有子元素 |
關(guān)于瀏覽器的不兼容性
如果使用 appendChild 將 <tr> 元素直接增加到 <table> 中,則在 IE 中這一行并不出現(xiàn),但在其他瀏覽器中卻會(huì)顯示出來,對(duì)此的解決之道是,將 <tr> 元素增加到表的 <tbody> 元素中,這種解決辦法在所有瀏覽器中都能正確工作。
關(guān)于 setAttribute 方法 ,IE 也有麻煩。 IE 不能使用 setAttribute 正確地設(shè)置 class 屬性 , 對(duì)此有一個(gè)跨瀏覽器的解決方法,即同時(shí)使用 setAttribute(“class”,”newClassName”) 和 setAttribute(“className”, “newClassName”) 。另外,在 IE 中不能使用 setAttribute 設(shè)置 style 屬性。最能保證瀏覽器兼容的技術(shù)不是 <element>.setAttribute(“style”, “font-weight:bold”), 而是 <element>.style.cssText=“font-weight:bold;” 。
?