Questão de Programação — HTML (HyperText Markup Language) — Quadrix 2025
- Código
- qg596892
- Banca
- Quadrix
- Órgão
- CRC-SP
- Ano
- 2025
- Nível
- Médio
- Cargo
- Assistente Web e Multimídia
- CCerto
- EErrado
GabaritoC — Certo
Gabarito: C — CERTO. O método .html() da biblioteca jQuery, quando chamado sem argumentos, retorna o conteúdo HTML interno do primeiro elemento do conjunto selecionado; quando chamado com um argumento, substitui o conteúdo interno de todos os elementos selecionados pelo valor informado, que pode incluir texto e marcação HTML. Essa é a definição clássica do método, amplamente documentada na API oficial do jQuery e cobrada em provas de desenvolvimento web.
O jQuery é uma biblioteca JavaScript criada para simplificar a manipulação do DOM (Document Object Model), o tratamento de eventos, animações e requisições AJAX. Entre seus métodos mais utilizados estão aqueles que alteram o conteúdo dos elementos, e é exatamente aí que entram .html(), .text() e .val(). A confusão entre eles é uma das pegadinhas mais frequentes em concursos, pois os três lidam com conteúdo, mas de formas distintas.
O método .html() trabalha com o HTML interno do elemento. Isso significa que ele lê ou escreve tanto o texto quanto as tags de marcação. Por exemplo, se um elemento <div id="exemplo"><p>Olá</p></div> existe na página, $('#exemplo').html() retornará a string "<p>Olá</p>". Já $('#exemplo').html('<span>Novo</span>') substituirá o conteúdo interno do div pelo novo HTML, resultando em <div id="exemplo"><span>Novo</span></div>. É importante notar que o método não altera o próprio elemento selecionado, apenas o seu conteúdo interno.
A distinção crucial está no método .text(). Enquanto .html() interpreta e manipula as tags HTML, .text() trata tudo como texto puro. Se aplicarmos $('#exemplo').text('<span>Novo</span>'), o resultado será o texto literal <span>Novo</span> exibido na página, sem que o navegador o interprete como uma tag — ou seja, o conteúdo aparecerá como texto visível, não como um elemento formatado. Essa diferença é fundamental: .html() é para conteúdo com marcação; .text() é para conteúdo textual simples. Já o método .val() é específico para ler ou definir o valor de elementos de formulário, como <input>, <select> e <textarea>.
A banca explora justamente essa fronteira entre .html() e .text(). A afirmação do item descreve com precisão o comportamento do .html(): "modificar ou retornar o conteúdo de um elemento, incluindo texto e marcação HTML". A palavra-chave é "marcação HTML" — é isso que diferencia o .html() do .text(). Se a questão dissesse que o método retorna apenas texto, estaria errada, pois essa é a função do .text(). Portanto, a assertiva está correta e o gabarito é a letra C.
A banca adora trocar os métodos .html() e .text(). Lembre-se: .html() lê/escreve HTML (tags + texto), enquanto .text() lê/escreve apenas texto (as tags são tratadas como caracteres comuns). Se a questão mencionar "marcação HTML", o método é o .html(); se mencionar "apenas texto", é o .text().
A afirmação está correta porque descreve exatamente o comportamento do método .html() da jQuery. Quando chamado sem argumentos, ele retorna o conteúdo HTML interno do primeiro elemento do conjunto selecionado. Quando chamado com um argumento, ele modifica o conteúdo interno de todos os elementos selecionados, definindo-o como o valor passado. Esse valor pode ser texto simples ou uma string contendo marcação HTML, que será interpretada pelo navegador. A descrição do item — "modificar ou retornar o conteúdo de um elemento, incluindo texto e marcação HTML" — é a definição canônica do método, presente na documentação oficial da jQuery e em todos os materiais de referência sobre a biblioteca.
Gabarito: letra C
Link permanente: /questoes/qg596892