1
resposta

Dúvida ao utilizar .classList junto ao Jquery.

Olá amigos,

Resolvi adicionar uma linha extra na solução do exercício "Game Over" para adicionar o texto "GAME OVER" sobre o bloco "textarea".

Inseri no html o seguinte:

<span id="gameover" class="invisible"><h1>GAME OVER</h1></span>

A classe invisible torna a linha invisível através do css:

.invisible {
    display: none;
}

E para tornar a linha visível, adicionei ao "if(tempoRestante < 1) a seguinte linha

$("#gameover").classList.remove("invisible")

Aqui, recebi o erro: Cannot read property 'remove' of undefined.

Ao verificar a resposta do console ao $("#gameover"), percebi que a função classList estava dentro de um objeto de índice 0, e corrigi o código para

$("#gameover")[0].classList.remove("invisible")

Dessa forma meu código passou a funcionar. Minha pergunta é se essa é a melhor forma de solucionar essa demanda que inventei, pois quando utilizo:

$("#gameover").text()

não preciso indicar o índice do objeto.

Obrigado desde já.

1 resposta

Fala ai Ramon, tudo bem? Nesse caso, por tratar de um elemento jQuery sugiro utilizar a função do jQuery para remoção de classes, no caso a removeClass, ficando:

$("#gameover").removeClass('invisible')

Assim evita o uso do [0] que não é muito legal.

Espero ter ajudado.