Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
olá pessoal, tudo bom?
estou com o seguinte problema: tenho um menu e preciso adicionar uma classe "ativo" neles, porém deve ser feito via .js.
a estrutura do meu menu é esta:
<ul id="nav">
<li class="comoConcorrer"><a href="./" class="como-concorrer" title="Como Concorrer" id="ctl00_lnkConcorrer">Como Concorrer</a></li>
<li class="participa"><a href="../../#" class="participar" title="Participe" id="ctl00_lnkParticipe">Participe</a></li>
<li class="suaChances"><a href="javascript:abrePop('Site/SuasChances/',500,352);" class="suas-chances" title="Suas Chances" id="ctl00_lnkChances">Suas Chances</a></li>
<li class="calendario"><a href="../Calendario/" class="calendarios" title="Calendário e Resultados" id="ctl00_lnkCalendario">Calendário e Resultados</a></li>
<li class="seguros"><a href="../Seguro/" class="seguro" title="Seguro Superprotegido" id="ctl00_lnkSeguro">Seguro Superprotegido</a></li>
<li class="regulamentos"><a href="../Regulamento/" class="regulamento" title="Regulamento" id="ctl00_lnkRegulamento">Regulamento</a></li>
<li class="duvidas"><a href="../Duvidas/" class="duvidas" title="Dúvidas Frequentes" id="ctl00_lkDuvidas">Dúvidas Frequentes</a></li>
</ul>
para adicionar a classe estou fazendo o seguinte:
document.getElementById('nav').getElementsByTagName('comoConcorrer a').className = 'ativo';
eu posso utilizar esse cara
getElementsByTagName
como hierarquia? eu quero acessar o filho dele para adicionar a classe
getElementsByTagName('comoConcorrer a').className += 'ativo';
não.
ele não funciona do jeito que tentou, e nem é necessário.
por exemplo:
document.getElementById('nav').getElementsByTagName('a')[0].className += ' ativo';com a linha acima, vou adicionar a class aqui:
<a href="./" class="como-concorrer" title="Como Conco ficando:
<a href="./" class="como-concorrer ativo" title="Como Conco
entendeu oque falei sobre array agora ?
nossa cara, rolou lindo!
sou acostumado a trabalhar apenas com jquery, hoje tive que fazer essa parada em js tradicional e me perdi um pouco....
muito obrigado pela ajuda!
concatene com oq ja tem:
.className += ' ativo';se não você estaria 'trocando'.
isso aqui:
getElementsByTagName()vai te devolver um Array de elementos.e espera como parametro o nome da tag
getElementsByTagName('a')
.. e por ai vai.