HTML DOM СвойствоОбъект
Узлы HTML DOM
В HTML DOM (объектной модели документа) всё являетсяузлом:
- Документ является узлом документа
- Все элементы HTML являются узлами элементов
- Все атрибуты HTML являются узлами атрибутов
- Текст, вставленный в HTML-элементы, является текстовыми узлами
- Комментарии являются узлами комментариев
Объект Attr
В HTML DOM,объект Attrпредставляет HTML-атрибут.
HTML-атрибуты всегда принадлежат HTML-элементам.
Объект NamedNodeMap
В HTML DOM, объектNamedNodeMapпредставляет неупорядоченный список узлов.
Мы можем получить доступ к узлам в NamedNodeMap по имени узла.
Поддержка браузеров
![]()
![]()
![]()
![]()
![]()
Все основные браузеры поддерживают объект Attr и объект NamedNodeMap.
| Свойство / Метод | Описание |
|---|---|
| attr.isId | Свойство isId возвращает true, если атрибут имеет тип ID, в противном случае возвращает false. |
| attr.name | Возвращает имя атрибута |
| attr.value | Задаёт или возвращает значение атрибута |
| attr.specified | Возвращает true, если атрибут задан, в противном случае возвращает false. |
| nodemap.getNamedItem() | Возвращает указанный узел атрибута из списка узлов. |
| nodemap.item() | Возвращает узел по указанному индексу в списке узлов. |
| nodemap.length | Возвращает количество узлов в списке узлов. |
| nodemap.removeNamedItem() | Удаляет указанный узел атрибута |
| nodemap.setNamedItem() | Устанавливает указанный узел атрибута (по имени) |
Предупреждение DOM 4 !!!
В W3C DOM Core объект Attr (атрибут) наследует все свойства и методы объекта node.
В DOM 4 объект Attr (атрибут) больше не наследует от объекта node.
Для долгосрочного качества кода следует избегать использования свойств и методов объекта node для объектов атрибутов:
| Свойство / Метод | Причина избегать |
|---|---|
| attr.appendChild() | У атрибута нет дочерних узлов |
| attr.attributes | У атрибута нет атрибутов |
| attr.baseURI | Вместо этого используйте document.baseURI |
| attr.childNodes | У атрибута нет дочерних узлов |
| attr.cloneNode() | Вместо этого используйте attr.value |
| attr.firstChild | У атрибута нет дочерних узлов |
| attr.hasAttributes() | У атрибута нет атрибутов |
| attr.hasChildNodes | У атрибута нет дочерних узлов |
| attr.insertBefore() | У атрибута нет дочерних узлов |
| attr.isEqualNode() | Не имеет смысла |
| attr.isSameNode() | Не имеет смысла |
| attr.isSupported() | Обычно true |
| attr.lastChild | У атрибута нет дочерних узлов |
| attr.nextSibling | У атрибута нет соседних узлов |
| attr.nodeName | Вместо этого используйтеattr.name |
| attr.nodeType | Обычно 2 (ATTRIBUTE-NODE) |
| attr.nodeValue | Используйтеattr.value вместо этого |
| attr.normalize() | У атрибута нет спецификации |
| attr.ownerDocument | Обычно ваш HTML-документ |
| attr.ownerElement | HTML-элемент, который вы использовали для доступа к атрибуту |
| attr.parentNode | HTML-элемент, который вы использовали для доступа к атрибуту |
| attr.previousSibling | У атрибута нет соседних узлов |
| attr.removeChild | У атрибута нет дочерних узлов |
| attr.replaceChild | У атрибута нет дочерних узлов |
| attr.textContent | Используйтеattr.value вместо этого |