在DOM 4中检索属性的映射

问题描述 投票:1回答:1

历史上在任何Element的XML DOM中都可以调用element.getAttributes(),它将返回NamedNodeMap。此映射允许您迭代Node实例,在这种情况下是描述每个属性的Attr实例。

但在阅读MDN对node type列举的Node.ATTRIBUTE_NODE值的描述时,他们说:

AttributeElement。从DOM4开始,属性不再实现Node接口。

他们在谈论Attr吗?但如果Attr没有在DOM 4中实现Nodeelement.getAttributes()会返回什么? NamedNodeMap节点不是Attr的实例?

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

html dom
1个回答
1
投票

这里有各种各样的观点。

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

“NamedNodeMap”似乎是一个有点误导性的名称,因为它的项目是Attr对象。

MDN已过期。早期版本的DOM4标准中的Attr接口没有扩展Node接口,但发现它不是Web兼容的,所以现在the current definition of Attr就像DOM3那样。

© www.soinside.com 2019 - 2024. All rights reserved.