Pular para o conteúdo principal

Questão de Programação — HTML (HyperText Markup Language) — FGV 2024

ProgramaçãoHTML (HyperText Markup Language)
Código
fg098587
Banca
FGV
Órgão
TJ-MS
Ano
2024
Nível
Superior
Cargo
Técnico de Nível Superior - Analista de Sistemas Computacionais - Web Designer
O analista Joaquim está escrevendo um script jQuery no interior de uma página de HyperText Markup Language (HTML). Joaquim precisa encontrar na página HTML todos os elementos <a> que descendem, de forma direta ou indireta, de um elemento <nav>. Para solucionar a questão de forma rápida, Joaquim decidiu utilizar o recurso de seletores do jQuery.Para encontrar os elementos necessários, Joaquim deve usar o seletor do jQuery:
  1. A$(‘nav a’);
  2. B$(‘nav ~ a’);
  3. C$(‘nav > a’);
  4. D$(‘nav + a’);
  5. E$(‘nav:has(a)’).
Revelar gabarito e comentário

GabaritoA — $(‘nav a’);

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Seletores jQuery – Descendente

Gabarito: letra A. O seletor $(“nav a”) (espaço entre nav e a) seleciona todos os elementos <a> que são descendentes, diretos ou indiretos, de um elemento <nav>. Esse é exatamente o requisito de Joaquim.

Em jQuery, o seletor de descendente é representado por um espaço entre dois seletores. Já os outros operadores têm funções distintas:

  • > (filho direto) – apenas descendentes imediatos.

  • ~ (irmão geral) – elementos irmãos posteriores.

  • + (irmão adjacente) – o primeiro irmão imediatamente após.

  • :has() – seleciona o elemento pai que contém o seletor dado, não os descendentes.

Seletor

Descrição

Seleciona descendentes diretos e indiretos?

nav a

Descendente (espaço)

Sim

nav > a

Filho direto (>)

Não (apenas diretos)

nav ~ a

Irmão geral (~)

Não (irmãos posteriores)

nav + a

Irmão adjacente (+)

Não (primeiro irmão após)

nav:has(a)

Pai que contém (:has())

Não (seleciona o <nav>, não o <a>)

Alternativa A — ✅ Correta ⟵ GABARITO

$(“nav a”) – seleciona todos os <a> que estão em qualquer nível dentro de <nav>. Atende perfeitamente “descendentes de forma direta ou indireta”.

Alternativa B — ❌ Incorreta

$(“nav ~ a”) – seletor de irmão geral (~). Seleciona elementos <a> que são irmãos posteriores de <nav>, não descendentes. Erro de conceito.

Alternativa C — ❌ Incorreta

$(“nav > a”) – seletor de filho direto (>). Seleciona apenas <a> que são filhos imediatos de <nav>, excluindo descendentes indiretos (ex.: <a> dentro de uma <div> dentro de <nav>). Não atende ao requisito.

Alternativa D — ❌ Incorreta

$(“nav + a”) – seletor de irmão adjacente (+). Seleciona o primeiro <a> imediatamente após <nav> no mesmo nível. Não são descendentes.

Alternativa E — ❌ Incorreta

$(“nav:has(a)”) – seletor :has(). Seleciona os próprios elementos <nav> que contêm <a> em seu interior, não os elementos <a>. Portanto, não retorna os links que Joaquim precisa.

NÃO CAIA NESSA!

A banca explora a confusão entre os seletores de relação. O espaço (descendente) é o único que abrange todos os níveis de aninhamento. O > é frequentemente confundido com o espaço, mas restringe a filhos diretos. O :has() parece “ter”, mas seleciona o pai, não o filho.

Gabarito: letra A.

Link permanente: /questoes/fg098587