Метод setAttributeNode() элемента HTML DOM

Определение и использование

setAttributeNode() Метод добавляет указанный узел атрибута к элементу и возвращает объект Attribute.

Если указанный атрибут уже существует, этот метод заменит его.

Альтернативные варианты:

Использование Метод setAttribute() Проще.

Дополнительная информация:

Референтное руководство:

Метод getAttributeNode()

Метод removeAttributeNode()

Метод createAttribute()

Метод getAttribute()

Метод setAttribute()

Метод hasAttribute()

Атрибут value свойства

Объект Attribute в HTML DOM

Урок:

Атрибуты HTML

Разница между setAttribute() и setAttributeNode()

setAttribute() Метод замены значения атрибута.

setAttributeNode() Метод замены объекта Attribute.

Прежде чем добавить атрибут к элементу, вам нужно создать объект Attr и установить значение Attr.

Результат будет таким же.

Пример

Пример 1

Установить узел свойства class первого элемента <h1>:

const attr = document.createAttribute("class");
attr.value = "democlass";
const h1 = document.getElementsByTagName("H1")[0];
h1.setAttributeNode(attr);

Попробуйте сами

До установки:

Hello World

После установки:

Hello World

Пример 2

Установите узел свойства href элемента <a>:

const attr = document.createAttribute("href");
attr.value = "";
const anchor = document.getElementById("myAnchor");
anchor.setAttributeNode(attr);

Попробуйте сами

До установки:

Пожалуйста, посетите codew3c.com

После установки:

Пожалуйста, посетите codew3c.com

Синтаксис

element.setAttributeNode(newAttr)

Параметр

Параметр Описание
newAttr Обязателен. Представляет Attr узел, который нужно добавить, или свойства, значение которых нужно изменить.

Возвратное значение

Тип Описание
Объект

Это объект Attr, представляющий заменяемый узел свойства.

Если свойство не было заменено,则为 null.

Выбрасывается

Этот метод выбрасывает исключение DOMException с следующим кодом:

Исключение Описание
INUSE_ATTRIBUTE_ERR newAttr Это уже член набора свойств другого узла Element.
NO_MODIFICATION_ALLOWED_ERR Текущий узел Element является только чтением и не позволяет изменять его свойства.
WRONG_DOCUMENT_ERR newAttr свойство ownerDocument отличается от Element узла, который нужно установить.

Поддержка браузеров

element.setAttributeNode() Это функция DOM Level 1 (1998).

Все браузеры полностью поддерживают его:

Chrome IE Edge Firefox Safari Opera
Chrome IE Edge Firefox Safari Opera
Поддержка 9-11 Поддержка Поддержка Поддержка Поддержка