Analise o fragmento de código jQuery a seguir. $("#x1").click(function(){ $("#x2").html("Hello world!"); }); Numa página web, esse trecho faz com que um clique:
- A)em qualquer elemento cuja tag é x1, cause uma alteração no conteúdo de todos os elementos com a tag x2;
Errada: #x1 e #x2 indicam id, não tag, e não há alteração em todos os elementos com tag x2.
- B)em qualquer elemento da classe x1, cause uma alteração no conteúdo do elemento cujo id é x2;
Errada: x1 não é classe, pois classe seria selecionada com ponto (.") e x2 também não é tratado como id de forma correta nessa alternativa.
- C)no elemento cujo atributo id é x1, cause uma alteração no conteúdo de todos os elementos da classe x2;
Errada: x2 não é classe; o seletor usado é por id, e não há pluralidade de elementos nesse trecho.
- D)no elemento cujo atributo id é x1, cause uma alteração no conteúdo do elemento cujo id é x2;
Certa: o clique no elemento de id x1 dispara a alteração do conteúdo do elemento de id x2.
- E)no elemento cujo atributo id é x1, cause uma alteração no conteúdo de todos os elementos com a tag x2.
Errada: x2 não representa tag, mas sim id, então não se trata de todos os elementos com essa tag.
Gabarito: D
Esse trecho usa dois seletores do jQuery. Quando você escreve $("#x1"), o sinal # indica que você está falando de um elemento pelo seu id. Então o click(function(){ ... }) registra uma função que será executada quando esse elemento for clicado. Dentro dela, $("#x2") aponta para outro elemento específico, também identificado por id. O método html("Hello world!") troca o conteúdo interno do elemento selecionado por HTML pronto. Ou seja, não é só texto puro: a palavra Hello world! aparece em negrito porque a tag é interpretada pelo navegador. Em jQuery, isso é bem típico: evento em um elemento e alteração do conteúdo de outro. Por isso o gabarito é a letra D. Um clique no elemento cujo atributo id é x1 faz com que o conteúdo do elemento cujo atributo id é x2 seja alterado. Nada de classe aqui, nada de várias tags iguais: os dois alvos estão sendo chamados pelo identificador único do id. Resumo de prova: # significa id, . significa classe. Se a questão trocar isso, já acende a luz amarela. E como html() insere conteúdo HTML no elemento, a marcação também entra no resultado visual.