Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Alterar id de elemento


FabianoM

Pergunta

Boa tarde.

Bom, tenho o seguinte codigo:

<ul id="menu-dep">
    <li id="li-dep"><a href="departamento.php?dep=1" rel="history">Departamento 1</a></li>
    <li id="li-dep"><a href="departamento.php?dep=2" rel="history">Departamento 2</a></li>
    <li id="li-dep"><a href="departamento.php?dep=3" rel="history">Departamento 3</a></li>
</ul>
É o seguinte galera: preciso que ao clicar em um desses, o link clicado fique diferente dos outros, consigo fazer isso em php normalmente e através de css. Já defini, o li com id="li-dep" será o não clicado, e quando clicado esse id deve alterar para "li-selected". Não posso verificar através de php, porque estou fazendo o carregamento das páginas com ajax, então ele não realiza o refesh da mesma. Queria saber se alguém sabe de uma funcao javascript com q eu posso através do onclick chamar para alterar o ID desse meu elemento para "li-selected"?? Eu fiz algo assim chamando uma função no onclick:
document.getElementById('li-dep').setAttribute('id','li-selected);

Porém ele não muda o correto, se clico no segundo link, ele altera o primeiro, depois se clico em outro, altera o link seguinte, e no fim todos ficam alterados. Gostaria q apenas o clicado ficasse alterado, e os demais normais.

Espero ter sido claro.

Grato

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

i aew FabianoM, só lembrando que é um erro você colocar varios campos com o mesmo id, bom tu podes fazer assim:

function muda( num )
        {
            var count = 1;
            var menu = document.getElementById( 'menu-dep' );
            
            for ( var i = 0; i < menu.childNodes.length; i++ )
            {
                if ( i % 2 )
                {
                    menu.childNodes[i].id = ( count++ == num ) ? "li-selected" : "li-dep" + count;
                    document.location.href = "departamento.php?dep=" + num;
                }
            }    
        }
e o html:
<ul id="menu-dep">
    <li id="li-dep"><a href="java script:muda(1)" rel="history">Departamento 1</a></li>
    <li id="li-dep"><a href="java script:muda(2)" rel="history">Departamento 2</a></li>
    <li id="li-dep"><a href="java script:muda(3)" rel="history">Departamento 3</a></li>
</ul>

espero que ajude, abraço!

Editado por Romerito
Link para o comentário
Compartilhar em outros sites

  • 0

Eae cara, valeu... muitissimo obrigado, funcionou perfeitamente.

É realmente eu sei que não é o correto utilizar várias id's com mesmo nome, eu sempre utilizo classes para isso, mas não fui eu que desenvolvi, e não tinha acesso ao arquivo .css, então deixei com id mesmo.

Mas muito obrigado..

Cara, não sei quase nada de javascript, poderia me dizer o que seria esse childNodes ???

Grato

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...