2
respostas

[Projeto] Minha solução

HTML / JAVASCRIPT :

Código completo do HTML e Javascript

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <title>Manipulando o DOM - Aula 3</title>
    <link rel="stylesheet" href="./styles.css" />
  </head>
  <body>
    <h3>Aluratintas em estoque:</h3>

    <ul class="lista" data-lista="AAA">
      <li cor="laranja" tipo="tinta-exterior" class="item">Tinta laranja</li>
      <li cor="vermelho" tipo="tinta-interior" class="item">Tinta vermelha</li>
      <li cor="branco" tipo="tinta-interior" class="item">Tinta branca</li>
      <li cor="amarelo" tipo="tinta-exterior" class="item">Tinta amarela</li>
      <li cor="rosa" tipo="tinta-exterior" class="item">Tinta rosa</li>
      <li cor="preto" tipo="tinta-exterior" class="item">Tinta preta</li>
    </ul>

    <a href="https://alura.com.br/" target="_blank"
      ><img
        src="https://www.alura.com.br/assets/img/home/alura-logo.svg"
        alt=""
        class="alura-logo"
    /></a>

    <button data-acao="mostrarLista">Mostrar</button>
    <button data-acao="esconderLista">Esconder</button>

    <script>
      const lista = document.querySelector("[data-lista]");
      const button = document.querySelectorAll("[data-acao]");

      button.forEach((elemento) => {
        elemento.addEventListener("click", () => {
          if (elemento.dataset.acao === "esconderLista") {
            lista.dataset.lista = "esconder";
          } else {
            lista.dataset.lista = "mostrar";
          }
        });
      });
    </script>
  </body>
</html>

CSS :

Adicionado o código seguinte no arquivo CSS:

[data-lista="mostrar"] > li {
  visibility: visible;
}

[data-lista="esconder"] > li {
  visibility: hidden;
}
2 respostas

Oi Bárbara, tudo bem?

Muito obrigada por compartilhar com a gente a sua solução! Parabéns por praticar :D

O código JavaScript adicionado é responsável por escutar o evento de clique nos botões e, dependendo do botão clicado, altera o valor do atributo "data-lista" da lista de tintas, mostrando ou escondendo a lista.

O trecho de código CSS adicionado é responsável por alterar a visibilidade dos itens da lista, dependendo do valor do atributo "data-lista".

Parece que o seu projeto está funcionando corretamente! Parabéns mais uma vez.

Um abraço e bons estudos.

Olá Lorena, tudo bem sim.

Então, está funcionando assim:

https://barbaraishioka.github.io/desenvolve__gbtech__2023/projects/javascript/JavaScript%20-%20Manipulando%20o%20DOM/manipulando__data-attribute/index.html

Estou removendo somente os itens do estoque e não o quadrado do estoque por completo.