Esta página foi traduzida do inglês pela comunidade.Saiba mais e junte-se à comunidade MDN Web Docs.
Element: método setAttribute()
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since julho de 2015.
O métodosetAttribute() da interfaceElement define o valor de um atributo no elemento especificado. Se o atributo já existir, o valor será atualizado; caso contrário, um novo atributo será adicionado com o nome e valor especificados.
Para obter o valor atual de um atributo, usegetAttribute(); para remover um atributo, chameremoveAttribute().
Se você precisar trabalhar com o nóAttr (como clonar de outro elemento) antes de adicioná-lo, você pode usar o nósetAttributeNode() método em vez disso.
In this article
Sintaxe
setAttribute(name, value)Parâmetros
nameUma string especificando o nome do atributo cujo valor deve ser definido. O nome do atributo é automaticamente convertido para letras minúsculas quando
setAttribute()é chamado em um elemento HTML em um documento HTML.valueUma string contendo o valor a ser atribuído ao atributo.Qualquer valor não-string especificado é convertido automaticamente em uma string.
Atributos booleanos são consideradostrue se estiverem presentes no elemento em tudo. Você deve definirvalue para a string vazia ("") ou o nome do atributo, sem espaços em branco à esquerda ou à direita. Veja oexemplo abaixo para uma demonstração prática.
Como ovalue especificado é convertido em uma string, especificandonull não necessariamente faz o que você espera. Em vez de remover o atributo ou definindo seu valor comonull, em vez disso, ele define o valor do atributo para a string"null". Se você deseja remover um atributo, chameremoveAttribute().
Valor de retorno
None (undefined).
Exceções
InvalidCharacterErrorDOMExceptionLançado se o valor
namenão for um [nome XML](https://www.w3.org/TR/REC-xml/#dt-name válido); por exemplo, começa com um número, um hífen ou um ponto, ou contém caracteres diferentes de caracteres alfanuméricos, sublinhados, hifens ou pontos.
Exemplo
No exemplo a seguir,setAttribute() é usado para definir atributos em um<button>.
<button>Hello World</button>button { height: 30px; width: 100px; margin: 1em;}JavaScript
const button = document.querySelector("button");button.setAttribute("name", "helloButton");button.setAttribute("disabled", "");Isso demonstra duas coisas:
- A primeira chamada para
setAttribute()acima mostra a alteração do valor do atributonamepara "helloButton".Você pode ver isso usando o inspetor de páginas do seu navegador (Chrome,Edge,Firefox,Safari). - Para definir o valor de um atributo booleano, como
disabled, você pode especificar qualquer valor.Uma string vazia ou o nome do atributo são valores recomendados.Tudo o que importa é que se o atributo estiver presente,independentemente do seu valor real, o seu valor é considerado 'verdadeiro'.A ausência do atributo significa que seu valor éfalse. Ao definir o valor do atributodisabledpara a string vazia (""), estamos definindodisabledcomotrue, o que resulta na desativação do botão.
Especificações
| Specification |
|---|
| DOM> # ref-for-dom-element-setattribute①> |