Questão nº 39
Questão de Engenharia de Software · FCC TST 2017 (nº 39)
FCC2017Analista Judiciário - Análise de SistemasEngenharia de Software
Gabarito: Dver comentário ↓
Considere a página web abaixo.
<!DOCTYPE html>
<html>
<head>
<title> Home </title>
<script src="jquery.min.js"></script>
<script>
$(document).ready(function(){
I
});
</script>
</head>
<body>
<div>Coloque o conteúdo do container aqui</div>
<button id="esconder">Esconder</button>
</body>
</html>
Para que o container div fique oculto ao se clicar no botão, a lacuna I deve ser preenchida com:
- A
$("#button").click(function(){ $("#div").hide(); }); - B
$("button").click(div.hide()); - C
$("button").click(action(){ $("div").hide(); }); - D
(alternativa correta)$("#esconder").click(function(){ $("div").hide(); }); - E
$("#esconder").onClick($("div").hide());
Resposta comentada
Gabarito Alternativa D
Para interagir com elementos em uma página web usando jQuery, primeiro você seleciona o elemento desejado (como um botão ou uma div) e depois anexa um evento (como um clique) a ele, especificando qual ação deve acontecer quando esse evento ocorrer, geralmente dentro de uma função.
- (A) Incorreta: O seletor
$("#button")está incorreto, pois o botão temid="esconder", nãoid="button". Da mesma forma,$("#div")está incorreto, pois adivnão possui umid="div", devendo ser selecionada pela tag$("div"). A armadilha aqui é usar o seletor de ID (#) com nomes genéricos que não correspondem aos IDs reais dos elementos na página. - (B) Incorreta: A sintaxe
div.hide()está incorreta, poisdivnão é um objeto jQuery. O correto seria$("div").hide(). Além disso, mesmo que fosse$("div").hide(), essa ação seria executada imediatamente quando o script carregasse, e não quando o botão fosse clicado, pois o método.click()espera uma função como argumento, não o resultado de uma execução. - (C) Incorreta: A palavra-chave
action()está incorreta para definir uma função anônima em JavaScript; o correto éfunction(). - (D) Correta: O seletor
$("#esconder")identifica corretamente o botão pelo seu ID. O método.click(function(){...})anexa uma função que será executada quando o botão for clicado. Dentro dessa função,$("div")seleciona corretamente o elementodiv(pela sua tag, já que não tem ID) e.hide()o oculta. - (E) Incorreta:
onClicknão é um método jQuery para anexar eventos; o método correto é.click(). Além disso,($("div").hide())executaria a ação de ocultar adivimediatamente, e não no momento do clique, passando o resultado dessa execução (que seria o próprio objeto jQuery) para o métodoonClick, o que não é o comportamento esperado para um manipulador de eventos.
Fonte: FCC TST 2017 Analista Judiciário - Análise de Sistemas (Caderno Tipo 1). Reproduzida para fins de estudo.