Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

lollipop

Cannot read property 'style' of null

Recommended Posts

O problema é simples, mas como sou novado não entendi o por quê. Procurei um pouco, mas a maioria das soluções são para casos mais complexos.

function choise(num) {
    var i;
    for(i = 1; i <= 3; i++){
    document.getElementById("show" + i).style.display = "none";
};
    document.getElementById("show" + num).style.display = "block";
    return false;
};

O uso do código é simples, tem três opções, quando clica numa delas, esconde qualquer div aberta, e mostra a clicada.
O erro acontece no loop pra fechar todas as divs.
Na lina:

document.getElementById("show" + i).style.display = "none";

Eu dei um alerto, e só quando i é 1 ele alerta, no segundo loop, ja da cáca.

Compartilhar este post


Link para o post
Compartilhar em outros sites

+1 Lucas

 

----

Lollipop, faça um "DEBUG" (com console.log):

function choise(num) {
    var i = 1, tmp;
    for(; i<=3; i++) {
        tmp = document.getElementById("show" + i);
        if(tmp) {
            document.getElementById("show" + i).style.display = "none";
            console.log("div#show" + i + " encontrado");
        } else {
            console.log("div#show" + i + " não existe");
        }
    }

    tmp = document.getElementById("show" + num);
    if(tmp) {
        tmp.style.display = "block";
        console.log("Opção div#show" + num + " encontrado");
    } else {
        console.log("Opção div#show" + num + " não existe");
    }
    return false;
}

Usando console no IE: http://msdn.microsoft.com/pt-br/library/ie/gg589530%28v=vs.85%29.aspx

Usando console no Chrome: https://developers.google.com/chrome-developer-tools/docs/console?hl=pt-br

Compartilhar este post


Link para o post
Compartilhar em outros sites

Poxa esqueci de responder hehe.

 

Foi o seguinte, eu fui testar o código antes de ter o trabalhão de editar cada div. Resultado, não existia os determinados ID'S. Criei e deu certinho. Obrigado ae

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.