Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Eita, nem creio que consegui!

Bati cabeça, viu?

Vai lá minha solução:

<!DOCTYPE html>
<html lang="pt-br">
  <head>
    <meta charset="UTF-8" />
    <title>Manipulando o DOM - Aula 3</title>
    <link rel="stylesheet" href="./css/exercicio3.css" />
  </head>
  <body>
    <div class="botoes">
      <button onclick="mostraTintas(this)" acao="mostra">
        Mostrar em estoque:
      </button>
      <button onclick="mostraTintas(this)" acao="oculta">
        Ocultar estoque:
      </button>
    </div>

    <ul class="lista">
      <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>
    <script>
      const lista = document.querySelector('.lista')

      function mostraTintas() {
        const btns = document.querySelectorAll('button')

        btns.forEach((el) => {
          el.addEventListener('click', () => {
            let atributo = el.getAttribute('acao')
            let estado = atributo === 'mostra' ? 'block' : 'none'
            lista.style.display = estado
          })
        })
      }
    </script>
  </body>
</html>

No CSS inclui no final um estilo para deixar os botões lado a lado

.botoes {
  display: flex;
  gap: 1em;
}
1 resposta
solução!

Oi Antonio, tudo bem?

Que bom que conseguiu! Parabéns pela dedicação e esforço. Muito legal ver a sua evolução. :D

Muito obrigada por compartilhar com a gente o seu código.

Um abraço e bons estudos.