Pergunta

Eu sou muito novo no JS, então me ajude com isso.

Estou tentando adicionar uma classe a uma tag usando onclick.

O código é como mostrado abaixo:

<a class="gkvSprite" href="#" id="abc" onClick="showhide('1')">Click 1</a>
<a class="gkvSprite" href="#" id="def" onClick="showhide('2')">Click 2</a>
<a class="gkvSprite" href="#" id="hij" onClick="showhide('3')">Click 3</a>

Agora, quando clico, preciso adicionar uma classe chamada "selecionada" para a que selecione. Tentei usar o setAttribute e adicionar classe de jQuery, mas não obtive sucesso

Quando alertar o documento.getElementById (123), ele fornece o link.

Alguém pode me ajudar?

Desde já, obrigado
Alloi

Foi útil?

Solução

Sem ver o código para showhide Não há como ver exatamente o que você está fazendo de errado. Desde que você menciona o jQuery, eis como fazer o que você descreve com ele:

$('.gkvSprite').click(function() {
  $(this).addClass('selected');
});

Também vale a pena notar que é inválido iniciar um ID com um número.

Outras dicas

id deve começar com um alfabeto.

Especificação oficial

Os tokens de ID e Name devem começar com uma letra ([a-ZA-Z]) e podem ser seguidos por qualquer número de letras, dígitos ([0-9]), hífens ("-"), sublinhados ("_") , colonos (":") e períodos (".").


Também,

var element = document.getElementById('id');
element.className += "newClass";

o showhide() deve fazer algo como acima.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top