1
resposta

[Dúvida] Solução usando Arrays, está correto?

Olá, ao tentar fazer a atividade sozinha acabei fazendo uma solução muito diferente do que a sugerida no curso. Apesar de ter funcionado, gostaria de saber se existe alguma questão de boas práticas que eu deveria me atentar em relação à minha solução:


const botoes = document.getElementsByClassName("dashboard__item__button");
const imagens = document.getElementsByClassName("dashboard__item__img");

function alterarStatus(id){
    let status = botoes[id - 1];
    let opacidadeImagem = imagens[id - 1];
    console.log(opacidadeImagem)
    
    if (status.innerHTML == "Alugar"){
        status.innerHTML = "Devolver";
        status.classList.add("dashboard__item__button--return");
        opacidadeImagem.classList.add("dashboard__item__img--rented");
    } else {
        status.innerHTML = "Alugar";
        status.classList.remove("dashboard__item__button--return");
        opacidadeImagem.classList.remove("dashboard__item__img--rented");

    }
}

A minha lógica foi usar o getElementsByClassName e manipular o array pra isolar o item (filme).

1 resposta

Olá, Sara, como vai?

Sua solução apresenta uma alternativa interessante ao utilizar a posição dos elementos para realizar a manipulação. O código cumpre o objetivo proposto e demonstra um bom domínio sobre a captura de elementos via classes.

Uma observação relevante sobre boas práticas é que ao utilizar índices fixos baseados na ordem dos elementos na página, o código pode se tornar frágil caso a estrutura do HTML mude ou a ordem dos filme seja alterada. A abordagem sugerida no curso, utilizando o ID específico do elemento pai, tende a ser mais segura por garantir que você está manipulando exatamente o conjunto de elementos pertencentes àquele filme específico, independentemente da posição dele na lista.

Parabéns pela dedicação em buscar caminhos diferentes para resolver o desafio e por compartilhar sua lógica conosco. Continue praticando essa exploração de métodos, pois isso enriquece muito seu aprendizado. O fórum segue à disposição para qualquer outra dúvida.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!