Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Dúvida] Classe CSS dashboard__item__img--rented

Olá, tudo bem? Gostaria de entender por que na função contains não é necessário colocar o ". (Ponto)" como as demais variáveis game, img e botão?

let game = document.querySelector(`#game-${id}`)
let img = game.querySelector('.dashboard__item__img')
let botao = game.querySelector('.dashboard__item__button')

if(img.classList.contains('dashboarditemimg--rented'))
2 respostas
solução!

Olá Wallisson,

O porquê disso é que o contains procura o texto informado dentro das cadeias de caracteres mapeadas de modo que o valor pode estar no começo, meio ou fim da cadeia.

Exemplo: 'classedashboarditemimg--rentedteste retornaria verdadeiro, pois o valor procurado está no meio da cadeia.

Já o querySelector é específico para a localização de componentes HTML através de seus seletores, então, vai buscar id's (#valor), classes (.valor) ou elementos (valor, por exemplo, div).

Então, nos primeiros casos a busca é por elementos na página que correspondem ao seletor especificado. E por último uma busca por texto dentre os textos mapeados.

Muito obrigado