Получение карты атрибутов в DOM 4 - PullRequest
1 голос
/ 21 апреля 2019

Исторически в XML DOM для любого Element можно вызвать element.getAttributes(), который вернет NamedNodeMap.Эта карта позволяет перебирать экземпляры Node, которые в данном случае являются Attr экземплярами, описывающими каждый атрибут.

Но при чтении описания MDN * типа узла перечисляемое значение для 1010 *, они говорят:

Attribute из Element.Атрибуты больше не реализуют интерфейс Node с DOM4.

Они говорят о Attr?Но если Attr не реализует Node в DOM 4, что возвращает element.getAttributes()?NamedNodeMap узлов, которые не являются экземплярами Attr?

Или Element не имеет element.getAttributes() метода вообще в DOM 4?Если нет, то как DOM 4 позволяет мне перебирать все атрибуты?И является ли код, который я пишу в Java 11, используя element.getAttributes(), поэтому в конечном итоге устареет?И то же самое для кода JavaScript, который я пишу в браузере?

1 Ответ

1 голос
/ 30 апреля 2019

Здесь есть различные моменты.

DOM4 действительно не содержит getAttributes() метода для Element.Однако у него есть свойство с именем attributes, которое при доступе возвращает NamedNodeMap.

"NamedNodeMap" выглядит слегка вводящим в заблуждение именем, поскольку его элементы являются Attr объектами.

MDN являетсяустаревший.Более ранние версии интерфейса Attr в стандарте DOM4 не расширяли интерфейс Node, но было обнаружено, что он не является веб-совместимым, и теперь в текущем определении Attr делает то же самое, что и DOM3.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...