Attr

Attr 接口将一个元素的属性(attribute)表示为一个对象。在大多数情况下,你可以直接以字符串形式检索属性值(例如 Element.getAttribute()),但某些函数(例如 Element.getAttributeNode())或迭代方法则返回 Attr 实例。

EventTarget Node Attr

Attr 对象的核心思想是将名称关联起来。属性也可能属于一个命名空间,在这种情况下,它还有一个表示命名空间的 URI,以及一个作为命名空间的缩写的前缀。

当该名称忽略最终的命名空间前缀时,则认为该名称是本地的;当该名称包含命名空间的前缀时,则认为该名称是被限定的,如果存在前缀,则将其通过冒号(:)与本地名分隔。一共有三种情况:属性不在命名空间中、属性在命名空间中但没有定义前缀、属性在命名空间中且定义了前缀:

属性 命名空间名 命名空间前缀 属性的本地名 属性的限定名
myAttr myAttr myAttr
myAttr mynamespace myAttr myAttr
myAttr mynamespace myns myAttr myns:myAttr

备注: 该接口仅表示 Element 树中存在的属性(attribute),无论是 SVG、HTML 还是 MathML 元素。它不表示与此类元素相关的接口的属性(property),例如 <table> 元素的 HTMLTableElement。(有关元素属性(attribute)及其如何反射到接口属性(property)的更多信息,请参见这篇文章。)

实例属性

此接口还从其父接口 NodeEventTarget 基础属性。

localName 只读

一个表示属性限定名的本地部分的字符串。

name (en-US) 只读

该属性的限定名。如果该属性不在命名空间中,则其与 localName 属性相同。

namespaceURI 只读

一个表示该属性的命名空间 URI 的字符串,如果没有命名空间,则返回 null

ownerElement (en-US) 只读

该属性所附属的元素

prefix 只读

一个表示该属性的命名空间前缀的字符串,如果命名空间没有前缀或没有指定命名空间则返回 null

specified (en-US) 只读 已弃用

该属性总是返回 true

value (en-US)

属性的值,其为一个可以通过接口属性进行设置和获取的字符串。

实例方法

此接口无具体方法,但继承了其父接口 NodeEventTarget 的方法。

规范

Specification
DOM Standard
# interface-attr

浏览器兼容性

BCD tables only load in the browser

参见