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

Verificar se elemento tem class ou não


vini_loock

Pergunta

Olá.

Eu to com uma duvida, tem como saber se existe uma class em algum elemento html?

por exemplo.

Tenho uma página html.

Nessa página tenho um link(<a>)

eu quero verificar se dentro desse link(<a>) existe uma classe.

Se existir eu quero deletar e se não existir eu quero adicionar..

Deu pra entender?

Caso não...

A finalidade é pra criar um menu.

|__Home__|

|_Serviços_|

|_Contato_|

Cada um desses links vão ter uma class(n-ativo)

E quando um desses links tiverem ativos, eles vão receber uma class(ativo) e ficar sem a barra do lado, como:

|__Home

Só que quando eu clicar em contato, dai vai ficar os 2 links sem a barra do lado, então o que eu quero fazer?

Eu quero verificar se algum desses links já tem a class ativo, se já tiver eu quero deletar essa class e colocar a class ativo no link clicado.

Eu tenho o css e html prontos. /

<ul>
<li><a href="#" class="n-ativo">Home</a></li>
<li><a href="#" class="n-ativo">Serviços</a></li>
<li><a href="#" class="n-ativo">Contato</a></li>
</ul>
css:
.n-ativo{border-right: 1px solid black;}
.ativo{border-right: 0px;}

Simples assim.

Bom.. é isso ai.

vlw

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

2 respostass a esta questão

Posts Recomendados

  • 0

Encontrei neste site a seguinte função:

/*    
 ** Matt Kruse's hasClass, with slight modification    
 ** Determine if an object or class string contains a given class.
  */
function hasClass (obj, className) {
    if (typeof obj == 'undefined' || obj==null || !RegExp) { return false; }
    var re = new RegExp("(^|\\s)" + className + "(\\s|$)");
    if (typeof(obj)=="string") {
      return re.test(obj);
    }
    else if (typeof(obj)=="object" && obj.className) {
      return re.test(obj.className);
    }
    return false;
  }

Um abraço.

Link para o comentário
Compartilhar em outros sites

  • 0

Você quer sair procurando todos os elementos que tem className no HTML, ou somente um cujo seu id é passado como parâmetro? Se for em todos, você terá que fazer a varredura com o document.getElementsByTagName('*'), verificar se o mesmo tem classeName (if (element.className)) e executar algo caso tenha.

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,3k
    • Posts
      652,4k
×
×
  • Criar Novo...