Module java.xml
Package org.w3c.dom

Interface Element

所有超级接口:
Node
所有已知子接口:
HTMLAnchorElement, HTMLAppletElement, HTMLAreaElement, HTMLBaseElement, HTMLBaseFontElement, HTMLBodyElement, HTMLBRElement, HTMLButtonElement, HTMLDirectoryElement, HTMLDivElement, HTMLDListElement, HTMLElement, HTMLFieldSetElement, HTMLFontElement, HTMLFormElement, HTMLFrameElement, HTMLFrameSetElement, HTMLHeadElement, HTMLHeadingElement, HTMLHRElement, HTMLHtmlElement, HTMLIFrameElement, HTMLImageElement, HTMLInputElement, HTMLIsIndexElement, HTMLLabelElement, HTMLLegendElement, HTMLLIElement, HTMLLinkElement, HTMLMapElement, HTMLMenuElement, HTMLMetaElement, HTMLModElement, HTMLObjectElement, HTMLOListElement, HTMLOptGroupElement, HTMLOptionElement, HTMLParagraphElement, HTMLParamElement, HTMLPreElement, HTMLQuoteElement, HTMLScriptElement, HTMLSelectElement, HTMLStyleElement, HTMLTableCaptionElement, HTMLTableCellElement, HTMLTableColElement, HTMLTableElement, HTMLTableRowElement, HTMLTableSectionElement, HTMLTextAreaElement, HTMLTitleElement, HTMLUListElement
所有已知实现类:
IIOMetadataNode

public interface Element extends Node
Element接口表示HTML或XML文档中的元素。元素可能带有与之关联的属性;由于Element接口继承自Node接口,因此可以使用通用的Node接口属性attributes来检索元素的所有属性集。Element接口上有方法,可以通过名称检索Attr对象或通过名称检索属性值。在XML中,属性值可能包含实体引用,应检索Attr对象以检查表示属性值的可能相当复杂的子树。另一方面,在HTML中,所有属性都具有简单的字符串值,可以安全地使用直接访问属性值的方法作为便利。

注意: 在DOM Level 2中,方法normalize是从Node接口继承的,它被移动到那里。

另请参阅文档对象模型(DOM) Level 3 Core规范

  • Method Details

    • getTagName

      String getTagName()
      元素的名称。如果Node.localNamenull不同,则此属性是一个限定名称。例如,在:
       <elementExample id="demo"> ...
       </elementExample>,
      tagName的值为"elementExample"。请注意,在XML中保留大小写,DOM的所有操作也是如此。HTML DOM以规范的大写形式返回HTML元素的tagName,而不考虑源HTML文档中的大小写。
    • getAttribute

      String getAttribute(String name)
      按名称检索属性值。
      参数:
      name - 要检索的属性的名称。
      返回:
      作为字符串的Attr值,如果该属性没有指定或默认值,则为空字符串。
    • setAttribute

      void setAttribute(String name, String value) throws DOMException
      添加新属性。如果元素中已经存在具有该名称的属性,则其值将更改为value参数的值。该值是一个简单的字符串;在设置时不会解析。因此,任何标记(例如要识别为实体引用的语法)都将被视为文本,并且在写出时需要由实现适当地转义。为了分配包含实体引用的属性值,用户必须创建一个Attr节点以及任何TextEntityReference节点,构建适当的子树,并使用setAttributeNode将其分配为属性的值。
      要设置具有限定名称和命名空间URI的属性值,请使用setAttributeNS方法。
      参数:
      name - 要创建或更改的属性的名称。
      value - 要以字符串形式设置的值。
      抛出:
      DOMException - INVALID_CHARACTER_ERR:如果指定的名称不符合正在使用的XML版本中在Document.xmlVersion属性中指定的XML名称,则引发异常。
      NO_MODIFICATION_ALLOWED_ERR:如果此节点是只读的,则引发异常。
    • removeAttribute

      void removeAttribute(String name) throws DOMException
      按名称删除属性。如果在DTD中为要删除的属性定义了默认值,则立即出现一个新属性,其默认值以及相应的命名空间URI、本地名称和前缀(如果适用)也会出现。实现可能类似地处理来自其他模式的默认值,但应用程序应使用Document.normalizeDocument()来确保此信息是最新的。
      如果找不到具有此名称的属性,则此方法不起作用。
      要按本地名称和命名空间URI删除属性,请使用removeAttributeNS方法。
      参数:
      name - 要删除的属性的名称。
      抛出:
      DOMException - NO_MODIFICATION_ALLOWED_ERR:如果此节点是只读的,则引发异常。
    • getAttributeNode

      Attr getAttributeNode(String name)
      按名称检索属性节点。
      要按限定名称和命名空间URI检索属性节点,请使用getAttributeNodeNS方法。
      参数:
      name - 要检索的属性的名称(nodeName)。
      返回:
      具有指定名称(nodeName)的Attr节点,如果没有这样的属性,则返回null
    • setAttributeNode

      Attr setAttributeNode(Attr newAttr) throws DOMException
      添加新属性节点。如果元素中已经存在具有相同名称(nodeName)的属性,则将其替换为新属性。将属性节点替换为其本身不起作用。
      要添加具有限定名称和命名空间URI的新属性节点,请使用setAttributeNodeNS方法。
      参数:
      newAttr - 要添加到属性列表的Attr节点。
      返回:
      如果newAttr属性替换了现有属性,则返回替换的Attr节点,否则返回null
      抛出:
      DOMException - WRONG_DOCUMENT_ERR:如果newAttr是从创建元素的不同文档创建的,则引发异常。
      NO_MODIFICATION_ALLOWED_ERR:如果此节点是只读的,则引发异常。
      INUSE_ATTRIBUTE_ERR:如果newAttr已经是另一个Element对象的属性,则引发异常。DOM用户必须显式克隆Attr节点以在其他元素中重用它们。
    • removeAttributeNode

      Attr removeAttributeNode(Attr oldAttr) throws DOMException
      删除指定的属性节点。如果在DTD中为要删除的Attr节点定义了默认值,则立即出现一个新节点,其默认值以及相应的命名空间URI、本地名称和前缀(如果适用)也会出现。实现可能类似地处理来自其他模式的默认值,但应用程序应使用Document.normalizeDocument()来确保此信息是最新的。
      参数:
      oldAttr - 要从属性列表中删除的Attr节点。
      返回:
      被移除的Attr节点。
      抛出:
      DOMException - NO_MODIFICATION_ALLOWED_ERR:如果此节点是只读的,则引发异常。
      NOT_FOUND_ERR:如果oldAttr不是元素的属性,则引发异常。
    • getElementsByTagName

      NodeList getElementsByTagName(String name)
      按给定标记名称以文档顺序返回所有后代ElementsNodeList
      参数:
      name - 要匹配的标记名称。特殊值"*"匹配所有标记。
      返回:
      匹配的Element节点列表。
    • getAttributeNS

      String getAttributeNS(String namespaceURI, String localName) throws DOMException
      按本地名称和命名空间URI检索属性值。
      根据[XML命名空间],如果应用程序希望没有命名空间,则方法中的namespaceURI参数必须使用值null
      参数:
      namespaceURI - 要检索的属性的命名空间URI。
      localName - 要检索的属性的本地名称。
      返回:
      作为字符串的Attr值,如果该属性没有指定或默认值,则为空字符串。
      抛出:
      DOMException - NOT_SUPPORTED_ERR:如果实现不支持特性"XML",并且通过文档公开的语言不支持XML命名空间(例如[HTML 4.01])。
      自:
      1.4,DOM Level 2
    • setAttributeNS

      void setAttributeNS(String namespaceURI, String qualifiedName, String value) throws DOMException
      添加新属性。如果元素中已经存在具有相同本地名称和命名空间URI的属性,则其前缀更改为qualifiedName的前缀部分,并且其值更改为value参数。该值是一个简单的字符串;在设置时不会解析。因此,任何标记(例如要识别为实体引用的语法)都将被视为文本,并且在写出时需要由实现适当地转义。为了分配包含实体引用的属性值,用户必须创建一个Attr节点以及任何TextEntityReference节点,构建适当的子树,并使用setAttributeNodeNSsetAttributeNode将其分配为属性的值。
      根据[XML命名空间],如果应用程序希望没有命名空间,则方法中的namespaceURI参数必须使用值null
      参数:
      namespaceURI - 要创建或更改的属性的命名空间URI。
      qualifiedName - 要创建或更改的属性的限定名称。
      value - 要以字符串形式设置的值。
      抛出:
      DOMException - INVALID_CHARACTER_ERR:如果指定的限定名称不符合在Document.xmlVersion属性中指定的XML版本中的XML名称,则引发异常。
      NO_MODIFICATION_ALLOWED_ERR:如果此节点是只读的,则引发异常。
      NAMESPACE_ERR:如果qualifiedName根据XML命名空间规范格式不正确,如果qualifiedName具有前缀并且namespaceURInull,如果qualifiedName具有前缀为"xml"且namespaceURI与" http://www.w3.org/XML/1998/namespace"不同,如果qualifiedName或其前缀为"xmlns"且namespaceURI与"http://www.w3.org/2000/xmlns/"不同,或者如果namespaceURI为"http://www.w3.org/2000/xmlns/"且qualifiedName或其前缀不是"xmlns"。
      NOT_SUPPORTED_ERR:如果实现不支持特性"XML",并且通过文档公开的语言不支持XML命名空间(例如[HTML 4.01])。
      自:
      1.4,DOM Level 2
    • removeAttributeNS

      void removeAttributeNS(String namespaceURI, String localName) throws DOMException
      按本地名称和命名空间URI删除属性。如果在DTD中为要删除的属性定义了默认值,则立即出现一个新属性,其默认值以及相应的命名空间URI、本地名称和前缀(如果适用)也会出现。实现可能类似地处理来自其他模式的默认值,但应用程序应使用Document.normalizeDocument()来确保此信息是最新的。
      如果找不到具有此本地名称和命名空间URI的属性,则此方法不起作用。
      根据[XML命名空间],如果应用程序希望没有命名空间,则方法中的namespaceURI参数必须使用值null
      参数:
      namespaceURI - 要移除的属性的命名空间URI。
      localName - 要移除的属性的本地名称。
      抛出:
      DOMException - NO_MODIFICATION_ALLOWED_ERR: 如果此节点是只读的则引发。
      NOT_SUPPORTED_ERR: 如果实现不支持特性"XML",并且文档中公开的语言不支持XML命名空间(例如[HTML 4.01])可能会引发。
      自从:
      1.4, DOM Level 2
    • getAttributeNodeNS

      Attr getAttributeNodeNS(String namespaceURI, String localName) throws DOMException
      通过本地名称和命名空间URI检索Attr节点。
      根据[XML命名空间],如果应用程序希望没有命名空间,则必须在方法中使用值null作为namespaceURI参数。
      参数:
      namespaceURI - 要检索的属性的命名空间URI。
      localName - 要检索的属性的本地名称。
      返回:
      具有指定属性本地名称和命名空间URI的Attr节点,如果没有这样的属性则返回null
      抛出:
      DOMException - NOT_SUPPORTED_ERR: 如果实现不支持特性"XML",并且文档中公开的语言不支持XML命名空间(例如[HTML 4.01])可能会引发。
      自从:
      1.4, DOM Level 2
    • setAttributeNodeNS

      Attr setAttributeNodeNS(Attr newAttr) throws DOMException
      添加新属性。如果元素中已经存在具有该本地名称和命名空间URI的属性,则将其替换为新属性。通过替换属性节点本身来替换属性节点不会产生任何效果。
      根据[XML命名空间],如果应用程序希望没有命名空间,则必须在方法中使用值null作为namespaceURI参数。
      参数:
      newAttr - 要添加到属性列表的Attr节点。
      返回:
      如果newAttr属性替换了具有相同本地名称和命名空间URI的现有属性,则返回被替换的Attr节点,否则返回null
      抛出:
      DOMException - WRONG_DOCUMENT_ERR: 如果newAttr是从创建元素的不同文档创建的则引发。
      NO_MODIFICATION_ALLOWED_ERR: 如果此节点是只读的则引发。
      INUSE_ATTRIBUTE_ERR: 如果newAttr已经是另一个Element对象的属性则引发。DOM用户必须显式克隆Attr节点以在其他元素中重用它们。
      NOT_SUPPORTED_ERR: 如果实现不支持特性"XML",并且文档中公开的语言不支持XML命名空间(例如[HTML 4.01])可能会引发。
      自从:
      1.4, DOM Level 2
    • getElementsByTagNameNS

      NodeList getElementsByTagNameNS(String namespaceURI, String localName) throws DOMException
      按文档顺序返回具有给定本地名称和命名空间URI的所有后代ElementsNodeList
      参数:
      namespaceURI - 要匹配的元素的命名空间URI。特殊值"*"匹配所有命名空间。
      localName - 要匹配的元素的本地名称。特殊值"*"匹配所有本地名称。
      返回:
      包含所有匹配的Elements的新NodeList对象。
      抛出:
      DOMException - NOT_SUPPORTED_ERR: 如果实现不支持特性"XML",并且文档中公开的语言不支持XML命名空间(例如[HTML 4.01])可能会引发。
      自从:
      1.4, DOM Level 2
    • hasAttribute

      boolean hasAttribute(String name)
      当此元素上指定具有给定名称的属性或具有默认值时返回true,否则返回false
      参数:
      name - 要查找的属性的名称。
      返回:
      如果此元素上指定具有给定名称的属性或具有默认值,则返回true,否则返回false
      自从:
      1.4, DOM Level 2
    • hasAttributeNS

      boolean hasAttributeNS(String namespaceURI, String localName) throws DOMException
      当此元素上指定具有给定本地名称和命名空间URI的属性或具有默认值时返回true,否则返回false
      根据[XML命名空间],如果应用程序希望没有命名空间,则必须在方法中使用值null作为namespaceURI参数。
      参数:
      namespaceURI - 要查找的属性的命名空间URI。
      localName - 要查找的属性的本地名称。
      返回:
      如果此元素上指定具有给定本地名称和命名空间URI的属性或具有默认值,则返回true,否则返回false
      抛出:
      DOMException - NOT_SUPPORTED_ERR: 如果实现不支持特性"XML",并且文档中公开的语言不支持XML命名空间(例如[HTML 4.01])可能会引发。
      自从:
      1.4, DOM Level 2
    • getSchemaTypeInfo

      TypeInfo getSchemaTypeInfo()
      与此元素关联的类型信息。
      自从:
      1.5, DOM Level 3
    • setIdAttribute

      void setIdAttribute(String name, boolean isId) throws DOMException
      如果参数isIdtrue,则此方法声明指定的属性为用户确定的ID属性。这会影响Attr.isId的值和Document.getElementById的行为,但不会更改可能正在使用的任何模式,特别是这不会影响指定Attr节点的Attr.schemaTypeInfo。将参数isId的值设为false可取消声明属性为用户确定的ID属性。
      要通过本地名称和命名空间URI指定属性,请使用setIdAttributeNS方法。
      参数:
      name - 属性的名称。
      isId - 属性是否为ID类型。
      抛出:
      DOMException - NO_MODIFICATION_ALLOWED_ERR: 如果此节点是只读的则引发。
      NOT_FOUND_ERR: 如果指定的节点不是此元素的属性则引发。
      自从:
      1.5, DOM Level 3
    • setIdAttributeNS

      void setIdAttributeNS(String namespaceURI, String localName, boolean isId) throws DOMException
      如果参数isIdtrue,则此方法声明指定的属性为用户确定的ID属性。这会影响Attr.isId的值和Document.getElementById的行为,但不会更改可能正在使用的任何模式,特别是这不会影响指定Attr节点的Attr.schemaTypeInfo。将参数isId的值设为false可取消声明属性为用户确定的ID属性。
      参数:
      namespaceURI - 属性的命名空间URI。
      localName - 属性的本地名称。
      isId - 属性是否为ID类型。
      抛出:
      DOMException - NO_MODIFICATION_ALLOWED_ERR: 如果此节点是只读的则引发。
      NOT_FOUND_ERR: 如果指定的节点不是此元素的属性则引发。
      自从:
      1.5, DOM Level 3
    • setIdAttributeNode

      void setIdAttributeNode(Attr idAttr, boolean isId) throws DOMException
      如果参数isIdtrue,则此方法声明指定的属性为用户确定的ID属性。这会影响Attr.isId的值和Document.getElementById的行为,但不会更改可能正在使用的任何模式,特别是这不会影响指定Attr节点的Attr.schemaTypeInfo。将参数isId的值设为false可取消声明属性为用户确定的ID属性。
      参数:
      idAttr - 属性节点。
      isId - 属性是否为ID类型。
      抛出:
      DOMException - NO_MODIFICATION_ALLOWED_ERR: 如果此节点是只读的则引发。
      NOT_FOUND_ERR: 如果指定的节点不是此元素的属性则引发。
      自从:
      1.5, DOM Level 3