Attr
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
Attr
接口将一个元素的属性(attribute)表示为一个对象。在大多数情况下,你可以直接以字符串形式检索属性值(例如 Element.getAttribute()
),但某些函数(例如 Element.getAttributeNode()
)或迭代方法则返回 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)的更多信息,请参见这篇文章。)
实例属性
此接口还从其父接口 Node
、EventTarget
基础属性。
localName
只读-
一个表示属性限定名的本地部分的字符串。
name
只读-
该属性的限定名。如果该属性不在命名空间中,则其与
localName
属性相同。 namespaceURI
只读-
一个表示该属性的命名空间 URI 的字符串,如果没有命名空间,则返回
null
。 ownerElement
只读-
该属性所附属的元素。
prefix
只读-
一个表示该属性的命名空间前缀的字符串,如果命名空间没有前缀或没有指定命名空间则返回
null
。 specified
只读 已弃用-
该属性总是返回
true
。 value
-
属性的值,其为一个可以通过接口属性进行设置和获取的字符串。
实例方法
此接口无具体方法,但继承了其父接口 Node
、EventTarget
的方法。
规范
Specification |
---|
DOM Standard # interface-attr |
浏览器兼容性
BCD tables only load in the browser