Html 在DOM 4中检索属性映射

Html 在DOM 4中检索属性映射,html,dom,Html,Dom,历史上,在XML DOM中,对于任何元素都可以调用元素.getAttributes(),这将返回一个NamedNodeMap。此映射允许您迭代节点实例,在本例中,这些实例是描述每个属性的Attr实例 但当阅读MDN对节点.ATTRIBUTE\u节点枚举值的描述时,他们会说: 元素的属性。从DOM4开始,属性不再实现节点接口 他们是在谈论Attr吗?但是如果在DOM4中Attr没有实现Node,那么element.getAttributes()返回什么?不是Attr实例的节点的NamedNodeM

历史上,在XML DOM中,对于任何
元素
都可以调用
元素.getAttributes()
,这将返回一个
NamedNodeMap
。此映射允许您迭代
节点
实例,在本例中,这些实例是描述每个属性的
Attr
实例

但当阅读MDN对
节点.ATTRIBUTE\u节点
枚举值的描述时,他们会说:

元素的
属性
。从DOM4开始,属性不再实现
节点
接口

他们是在谈论Attr吗?但是如果在DOM4中
Attr
没有实现
Node
,那么
element.getAttributes()返回什么?不是
Attr
实例的节点的
NamedNodeMap


或者
Element
在DOM 4中根本没有
Element.getAttributes()
方法吗?如果没有,DOM 4如何让我遍历所有属性?我在Java11中使用
element.getAttributes()
编写的代码最终会过时吗?我在浏览器中编写的JavaScript代码也是如此?

这里有很多要点

DOM4确实不包含元素上的
getAttributes()
方法。但是,它确实有一个名为
attributes
的属性,访问该属性时会返回NamedNodeMap

“NamedNodeMap”似乎有点误导人,因为它的项是
Attr
对象

MDN已经过时了。DOM4标准中Attr接口的早期版本没有扩展节点接口,但发现它不兼容web,现在也是如此,就像DOM3一样

我提到的
getAttributes()
是DOM API的Java绑定,我确信它对应于
attributes
属性。因此,答案似乎是MDN已经过时,因此不正确。谢谢