XML DOM Element 对象

Element 对象

Element 对象表示 XML 文档中的元素。元素可包含属性、其他元素或文本。如果元素含有文本,则在文本节点中表示该文本。

重要事项:文本永远存储在文本节点中。在 DOM 处理过程中的一个常见的错误是,导航到元素节点,并认为此节点含有文本。不过,即使最简单的元素节点之下也拥有文本节点。举例,在 <year>2005</year> 中,有一个元素节点(year),同时此节点之下存在一个文本节点,其中含有文本(2005)。

由于 Element 对象也是一种节点,因此它可继承 Node 对象的属性和方法。

Element 对象的属性

属性 描述
attributes 返回元素的属性的 NamedNodeMap。
baseURI 返回元素的绝对基准 URI。
childNodes 返回元素的子节点的 NodeList。
firstChild 返回元素的第一个子元素。
lastChild 返回元素的最后一个子元素。
localName 返回元素名称的本地部分。
namespaceURI 返回元素的命名空间 URI。
nextSibling 返回紧随该元素之后的节点。
nodeName 返回节点的名称,取决于其类型。
nodeType 返回节点的类型。
ownerDocument 返回元素的根元素(文档对象)。
parentNode 返回元素的父节点。
prefix 设置或返回元素的命名空间前缀。
previousSibling 返回紧邻该元素之前的节点。
schemaTypeInfo 返回与元素相关联的类型信息。
tagName 返回元素的名称。
textContent 设置或返回元素及其后代的文本内容。

Element 对象的方法

方法 描述
appendChild() 将新的子节点添加到该节点的子节点列表的末尾。
cloneNode() 克隆节点。
compareDocumentPosition() 比较两个节点的文档位置。
getAttribute() 返回属性的值。
getAttributeNS() 返回属性的值(带有命名空间)。
getAttributeNode() 返回属性节点,以 Attribute 对象。
getAttributeNodeNS() 返回属性节点(带有命名空间),以 Attribute 对象。
getElementsByTagName() 返回匹配元素节点及其子节点的 NodeList。
getElementsByTagNameNS() 返回匹配元素节点(带有命名空间)及其子节点的 NodeList。
getFeature(feature,version) 返回 DOM 对象,该对象实现指定特性和版本的专用 API。
getUserData(key) 返回与节点上的键关联的对象。必须首先将对象设置到此节点,通过使用相同的键来调用 setUserData。
hasAttribute() 返回元素是否拥有与指定名称匹配的属性。
hasAttributeNS() 返回元素是否拥有与指定名称和命名空间匹配的属性。
hasAttributes() 返回元素是否拥有属性。
hasChildNodes() 返回该元素是否有子节点。
insertBefore() 在现有子节点之前插入新的子节点。
isDefaultNamespace(URI) 返回指定的 namespaceURI 是否是默认的。
isEqualNode() 检查两个节点是否相等。
lookupNamespaceURI() 返回与指定前缀匹配的命名空间 URI。
lookupPrefix() 返回与指定命名空间 URI 匹配的前缀。
normalize()

normalize() 方法移除空的文本节点,并连接相邻的文本节点。

将元素下的所有文本节点(包括属性)正规化,其中仅结构(例如元素、注释、处理指令、CDATA 部分和实体引用)分隔文本节点。

即,既不存在相邻的文本节点,也不存在空的文本节点。

removeAttribute() 删除指定的属性。
removeAttributeNS() 删除指定的属性(带有命名空间)。
removeAttributeNode() 删除指定的属性节点。
removeChild() 删除子节点。
replaceChild() 替换子节点。
setUserData(key,data,handler) 将对象与元素上的键相关联。
setAttribute() 添加新属性。
setAttributeNS() 添加新属性(带有命名空间)。
setAttributeNode() 添加新的属性节点。
setAttributeNodeNS(attrnode) 添加新的属性节点(带有命名空间)。
setIdAttribute(name,isId) 如果 Attribute 对象的 isId 属性为 true,则此方法将指定的属性声明为用户确定的 ID 属性。
setIdAttributeNS(uri,name,isId) 如果 Attribute 对象的 isId 属性为 true,则此方法将指定的属性(带有命名空间)声明为用户确定的 ID 属性。
setIdAttributeNode(idAttr,isId) 如果 Attribute 对象的 isId 属性为 true,则此方法将指定的属性声明为用户确定的 ID 属性。