Gerenciando Atributos de Elementos - JavaScript
JavaScript nos fornece vários métodos fornecidos para gerenciar os atributos de elementos HTML:
: retorna o valor do atributogetAttribute(attr)
.attr
: cria um novo atributocreateAttribute(attr)
.attr
: define o valorsetAttribute(attr, value)
para o atributovalue
. Se o atributo não existir, ele é adicionado.attr
: remove o atributoremoveAttribute(attr)
e seu valor.attr
Obtendo um Atributo
Para obter um atributo de um elemento, chamamos o método getAttribute()
<a id="home" class="link" href="index.html">Home</a>
Podemos obter os atributos deste elemento assim:
// Obtendo o elemento
const element = document.getElementById("home");
// Obtendo os atributos do elemento
console.log(element.getAttribute("id")); // home
console.log(element.getAttribute("class")); // link
console.log(element.getAttribute("href")); // index.html
Vale notar que os atributos também estão acessíveis diretamente como propriedades do elemento, que são nomeadas de forma semelhante aos atributos (com raras exceções):
// Obtendo o elemento
const element = document.getElementById("home");
// Acessando as propriedades do elemento
console.log(element.id); // home
console.log(element.className); // link
console.log(element.href); // file:///C:/app/index.html
Uma exceção importante é o atributo class
className
Além disso, as propriedades podem retornar valores ligeiramente diferentes. Por exemplo, a propriedade href
getAttribute("href")
O mesmo se aplica ao atributo style
<a id="home" style="color:red;" href="index.html">Home</a>
<script>
// Obtendo o elemento
const element = document.getElementById("home");
// Obtendo os atributos do elemento
console.log(element.style); // CSSStyleDeclaration
console.log(element.getAttribute("style")); // color:red;
</script>
O método getAttribute("style")
style
CSSStyleDeclaration
Definindo Atributos
Para definir o valor de um atributo, usamos o método setAttribute(attr, value)
<a id="home" href="index.html">Home</a>
<script>
// Obtendo o elemento
const element = document.getElementById("home");
// Definindo o atributo href
element.setAttribute("href", "https://www.programicio.com");
// Definindo o atributo style
element.setAttribute("style", "color:navy;");
</script>
Aqui, modificamos o atributo href
style
style
Removendo um Atributo
Para remover um atributo, usamos o método removeAttribute()
<a id="home" href="https://www.programicio.com" style="color:navy;">Home</a>
<script>
// Obtendo o elemento
const element = document.getElementById("home");
// Removendo o atributo style
element.removeAttribute("style");
</script>