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 实例。

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 只读

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

namespaceURI 只读

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

ownerElement 只读

该属性所附属的元素

prefix 只读

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

specified 只读 已弃用

该属性总是返回 true

value

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

实例方法

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

规范

Specification
DOM Standard
# interface-attr

浏览器兼容性

BCD tables only load in the browser

参见