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 阅读(435)
评论(0) 编辑 收藏 所属分类:
JSP 、
AJAX