Attr

Baseline 已广泛支持

此特性已相当成熟,可在许多设备和浏览器版本上使用。自 ⁨2015 年 7 月⁩以来,各浏览器均已提供此特性。

Attr 接口将元素的一个属性表示为一个对象。在大多数情况下,您将直接以字符串形式检索属性值(例如,使用 Element.getAttribute()),但在某些情况下可能需要与 Attr 实例进行交互(例如,使用 Element.getAttributeNode())。

EventTarget Node Attr

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

当名称忽略了最终的命名空间前缀时,它被认为是本地名称;当它包含命名空间前缀(如果有)并用冒号 (:) 将其与本地名称分隔开时,它被认为是限定名称。我们有三种情况:不属于命名空间的属性、属于命名空间但未定义前缀的属性、属于命名空间并定义了前缀的属性。

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

注意:此接口仅表示 Element 的树状表示中存在的属性,这些元素可能是 SVG、HTML 或 MathML 元素。它不表示与这些元素关联的接口的属性,例如 <table> 元素的 HTMLTableElement。(有关属性及其如何反映到属性的更多信息,请参阅本文档。)

实例属性

此接口还继承了其父接口 NodeEventTarget 的属性。

localName 只读

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

name 只读

属性的限定名称。如果属性不属于命名空间,它将与 localName 属性相同。

namespaceURI 只读

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

ownerElement 只读

属性所属的 Element

prefix 只读

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

specified 只读 已弃用

此属性始终返回 true

value

属性的值,一个可以通过此属性获取和设置的字符串。

实例方法

此接口没有特定的方法,但继承了其父接口 NodeEventTarget 的方法。

规范

规范
DOM
# interface-attr

浏览器兼容性

另见