DOM | Интерфейс NamedNodeMap

DOM | Интерфейс NamedNodeMap

IDL

[Exposed=Window,
LegacyUnenumerableNamedProperties]
interface NamedNodeMap {
   readonly attribute unsigned long length;
   getter Attr? item(unsigned long index);
   getter Attr? getNamedItem(DOMString qualifiedName);
   Attr? getNamedItemNS(DOMString? namespace, DOMString localName);
   [CEReactions] Attr? setNamedItem(Attr attr);
   [CEReactions] Attr? setNamedItemNS(Attr attr);
   [CEReactions] Attr removeNamedItem(DOMString qualifiedName);
   [CEReactions] Attr removeNamedItemNS(DOMString? namespace, DOMString localName);
};

 

NamedNodeMap имеет связанный «элемент» (element) (элемент).

«Список атрибутов» (attribute list) объекта NamedNodeMap — это список атрибутов его элемента.

 

Поддерживаемые индексы свойств объекта NamedNodeMap — это числа в диапазоне от нуля до размера его списка атрибутов минус один, если только список атрибутов не пуст, и в этом случае индексы поддерживаемых свойств отсутствуют.

Получатель атрибута length должен возвращать размер списка атрибутов.

При вызове метода item(index) необходимо выполнить следующие шаги:

1. Если index равен или больше размера списка атрибутов этого this, возвращается значение null.
2. В противном случае верните список атрибутов[index] этого this.

Имена поддерживаемых свойств объекта NamedNodeMap являются возвращаемым значением при выполнении следующих шагов:

1. Пусть имена names будут полными именами атрибутов в списке атрибутов этого объекта NamedNodeMap, с опущенными дубликатами, по порядку.
2. Если элемент этого объекта NamedNodeMap находится в пространстве имен HTML, а его узловой документ является документом HTML, то для каждого name в names:
   1. Пусть lowercaseName будет именем name в нижнем регистре ASCII.
   2. Если lowercaseName не равен name, удалите name из names.
3. Верните names

Метод getNamedItem(qualifiedName) при вызове должен возвращать результат получения атрибута с заданным qualifiedName и элементом.

Метод getNamedItemNS(namespace, localName) при вызове должен возвращать результат получения атрибута с заданным пространством имен namespace, localName и элементом.

Методы setNamedItem(attr) и setNamedItemNS(attr) при вызове должны возвращать результат установки атрибута, заданного attr и element.

При вызове метода removeNamedItem(qualifiedName) необходимо выполнить следующие действия:

1. Пусть attr будет результатом удаления атрибута с указанным qualifiedName и элемента.
2. Если attr имеет значение null, генерируется исключение DOMException "NotFoundError".
3. Верните attr

Метод removeNamedItemNS(namespace, localName) при вызове должен выполнить следующие действия:

1. Пусть attr будет результатом удаления атрибута с учетом пространства имен namespace, localName и элемента.
2. Если attr имеет значение null, генерируется исключение DOMException "NotFoundError".
3. Верните attr

 

Ссылки

DOM стандарт — https://efim360.ru/dom/

Читайте перевод полной версии стандарта «объектной модели документа», чтобы ознакомиться со всеми концепциями и интерфейсами.

DOMLiving Standardhttps://dom.spec.whatwg.org

Читайте официальную документацию живого стандарта «объектной модели документа», чтобы быть в курсе последних изменений.