jQuery - 6 . Adicionando e Removendo Classes


#1

Alguém sabe qual é o problema dessa lição? Não entendi muito bem, não estou conseguindo avançar.

Lição:
Adicionando e Removendo Classes
Contudo, não precisamos nos limitar a adicionar e remover elementos inteiros — podemos ajustar nossos superpoderes jQuery para alterar classes, CSS, e mesmo o conteúdo dos nossos elementos HTML.

Vamos começar com as classes. A jQuery inclui duas classes, .addClass() e .removeClass(), que podem ser usadas para adicionar ou remover uma classe de um elemento. Isso é maravilhoso se, por exemplo, você tem uma classe destacada highlighted que você quer aplicar a um elemento quando ele for clicado.

A sintaxe é algo como:

$('selector').addClass('className');
$('selector').removeClass('className');
onde 'selector' é o elemento HTML que você quer e 'className' é o nome da classe que você quer adicionar ou remover.

Lembre-se: Você não está selecionando coisa alguma, você está modificando seu elemento. Isso significa que você não precisa de # ou . antes da classe.

Instruções:

Agora que pensamos sobre isso, a classe highlighted parece uma boa ideia. Fornecemos o código HTML e CSS; na aba script.js, adicione o código jQuery necessário para fazer com que seu bloco div #text fique em destaque quando clicado!

CERTIFIQUE-SE de clicar em "Enviar," e Então clicar em "Me destaque, também!" para ver os resultados.

?
Dica
Seu código deve parecer algo como:

$(document).ready(function() {
$('SEL').click(function() {
$(this).FUNC('CLASS');
});
});
onde SEL é o elemento HTML que você deve selecionar (nesse caso, o #text), FUNC é a função jQuery que você deve usar para adicionar uma classe, e CLASS é o nome da classe que você deve adicionar (nesse caso, 'highlighted').

Esse é o meu código:

$(document).ready(function(){
$('#text').click(function(){
$('this').addClass('highlighted');
});
});


#2

Olá @gutobedin

Na dica repara como o this não tem plicas ( ' ), mas o teu tem.
Em ves de $('this').addClass('highlighted') experimenta
$(this).addClass('highlighted');

O que se prentende é que uses a keyword em vez de uma string. Quando colocas as plicas ( ' ) estas a usar uma string.


#3

eu tentei

$(document).ready(function() {
$("#text").click(function() {
$(this).addClass("highlighted");

});

});

e deu certo