Método setAttributeNode() do Elemento HTML DOM

Definição e uso

setAttributeNode() Método adiciona o nó de atributo especificado ao elemento e retorna o objeto Attribute.

Se este atributo especificado já existir, este método substituirá-o.

Alternativa:

Usar Método setAttribute() Mais fácil.

Veja também:

Manual de referência:

Método getAttributeNode()

Método removeAttributeNode()

Método createAttribute()

Método getAttribute()

Método setAttribute()

Método hasAttribute()

Propriedade valor do atributo

Objeto Attribute do HTML DOM

Tutorial:

Atributos do HTML

Diferenças entre setAttribute() e setAttributeNode()

setAttribute() Método substitui o valor do atributo.

setAttributeNode() Método substitui o objeto Attribute.

Antes de adicionar o atributo ao elemento, você deve criar o objeto Attr e definir o valor do Attr.

O resultado será o mesmo.

Exemplo

Exemplo 1

Definir o nó de atributo da propriedade class do primeiro elemento <h1>:

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

Experimente você mesmo

Antes da configuração:

Hello World

Após a configuração:

Hello World

Exemplo 2

Definir o nó de atributo da propriedade href do elemento <a>:

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

Experimente você mesmo

Antes da configuração:

Acesse codew3c.com

Após a configuração:

Acesse codew3c.com

sintaxe

element.setAttributeNode(newAttr)

parâmetro

parâmetro Descrição
newAttr obrigatório. Representa o nó Attr a ser adicionado ou cujo valor deve ser modificado.

retorna

tipo Descrição
objeto

representa o objeto Attr do nó de atributo substituído.

se nenhum atributo for substituído, será null.

lançar

Este método lançará uma exceção DOMException contendo o seguinte código:

Exceção Descrição
INUSE_ATTRIBUTE_ERR newAttr já é membro da coleção de atributos de outro nó Element.
NO_MODIFICATION_ALLOWED_ERR O nó Element atual é só leitura, não é permitida a modificação de suas propriedades.
WRONG_DOCUMENT_ERR newAttr a propriedade ownerDocument é diferente do nó Element que deseja definir.

Suporte do navegador

element.setAttributeNode() é uma característica do DOM Level 1 (1998).

Todos os navegadores suportam completamente:

Chrome IE Edge Firefox Safari Opera
Chrome IE Edge Firefox Safari Opera
Suporte 9-11 Suporte Suporte Suporte Suporte