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