1
resposta

Imagem com setAtribute

Bom dia. Estou fazendo um exercício que é um verificador de idades. Ao inserir a idade no input, deve aparecer uma imagem referente a fase da vida que o usuário se encontra.

Estou usando o JavaScript para criar a tag e referenciar a imagem da pasta... O problema é que a imagem não carrega de jeito nenhum! Não aparece nenhum erro no console. Já toquei de pasta, deixei na pasta raiz do projeto, usei caminho relativo, absoluto e nada. A mensagem no fim do código aparece após o teste lógico, apenas a imagem que não carrega. Se alguém achar uma solução favor dar um help! Grato.

function verificar() {
var data = new Date()
var ano = data.getFullYear()

var fano = document.getElementById('txtano')
var ano1 = fano.value;
var idade = ano - ano1;


if (fano.value.lenght == 0 || fano.value > ano) {
    alert('[ERRO] ano incorreto');
} else {

    var res = document.getElementById('res')
    var fsex = document.getElementsByName('radsex');
    var genero = '';
    var img = document.createElement('img');
    img.setAttribute('id', 'foto');
    if (fsex[0].checked) {
        genero = 'homem';
        if (idade >= 0 && idade < 10) {
            img.setAttribute('src','menino.png');
        } else if (idade < 21) {
            //jovem
        } else if (idade < 50) {
            //adulto
        } else {
            //idoso
        }

    } else if (fsex[1].checked) {
        genero = 'mulher'
        if (idade >= 0 && idade < 10) {
            //criança
        } else if (idade < 21) {
            //jovem
        } else if (idade < 50) {
            //adulto
        } else {
            //idoso
        }
    }

    res.innerHTML = `Detectamos ${genero} com ${idade} anos.`
    res.style.textAlign = 'center' 
    }
}
1 resposta

Olá João, tudo bem?

Dei uma olhada no seu código, parece que está tudo ok em relação a sintaxe, por isso não vai apontar erros no console.

Agora, pode ser que tenha algum erro na semântica.

Por exemplo, a imagem menino.png está na mesma pasta do projeto ou em uma pasta separada?

Pode ser que ele esteja apenas buscando por uma imagem que não está no mesmo diretório, por isso ela não aparece.