1
resposta

Estou com problema do botão

Tentei ver nas dúvidas anteriores. Mas não resolvei meu problema.

function alterarStatus(id){
    let gameClicado = document.getElementById(game-${id});
    let imagem = gameClicado.querySelector('.deshboarditemimg');
    let botao = gameClicado.querySelector('.deshboarditembutton');

    if (imagem.classList.contains('dashboarditemimg--rented')) {
        imagem.classList.remove('dashboarditemimg--rented');
        botao.classList.remove('dashboarditembutton--return');
        botao.textContent = 'Alugar';
    } else {
        imagem.classList.add('dashboarditemimg--rented');
        botao.classList.remove('dashboarditembutton--return');
        botao.textContent = 'Devolver';
    }

}
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>AluGames</title>
    <link rel="stylesheet" href="css/main.css">
</head>

<body class="body">
    <main class="container main">
        <img src="img/logo.svg" alt="Logo AluGames">
        <section class="divisor">
            <div class="divisor__line"></div>
            <img src="img/fade_bar.svg" alt="Visual bar" class="divisor__bar">
            <div class="divisor__line"></div>
        </section>
        <h1 class="page-title">Aluguel de <span class="page-title__emphasis">boardgames</span></h1>
        <section class="dashboard">
            <ul class="dashboard__items">
                <li class="dashboard_items_item" id="game-1">
                    <div class="dashboard_item_img">
                        <img src="img/monopoly.png" alt="Capa jogo Monopoly">
                    </div>
                    <p class="dashboard_item_name">Monopoly</p>
                    <a onclick="alterarStatus(1)" href="#" class="dashboard_item_button">Alugar</a>
                </li>
                <li class="dashboard_items_item" id="game-2">
                    <div class="dashboard_item_img">
                        <img src="img/ticket_to_ride.png" alt="Capa jogo Ticket to Ride">
                    </div>
                    <p class="dashboard_item_name">Ticket to Ride</p>
                    <a onclick="alterarStatus(2)" href="#" class="dashboard_item_button">Alugar</a>
                </li>
                <li class="dashboard_items_item" id="game-3">
                    <div class="dashboard_itemimg dashboarditem_img--rented">
                        <img src="img/takenoko.png" alt="Capa jogo Takenoko">
                    </div>
                    <p class="dashboard_item_name">Takenoko</p>
                    <a onclick="alterarStatus(3)" href="#" class="dashboard_itembutton dashboarditem_button--return">Devolver</a>
                </li>
            </ul>
        </section>
        <img src="img/hachuras.svg" alt="Visual hachuras" class="hachuras">
    </main>

    <script src="js/app.js"></script>
</body>

</html>
1 resposta

No seu código javascript você está tentando pegar pela class '.deshboarditembutton', mas se você olhar no seu HTML você não possui essa classe. Apenas 'dashboard_itembutton' e 'dashboarditem_button--return', e elas precisam ser iguais. O mesmo serve para as outras classes.